2011-10-08 2 views
3
다음 HTML을 감안할 때

:CSS3의 방사형 그라데이션 가장자리 색상 중지 최종 색상과 일치하지 않는 모든 주위

<body><div class="container"></div></body> 

및 CSS : 방사형 그라데이션의

body { 
    background-color: #e9f9e9; 
} 

.container { 
    height: 200px; 
    width: 200px; 
    background: -webkit-gradient(radial, 50% 50%, 0, 50% 50%, 100, color-stop(0%, #fcfffc), color-stop(100%, #e9f9e9)); 
    background: -webkit-radial-gradient(#fcfffc, #e9f9e9); 
    background: -moz-radial-gradient(#fcfffc, #e9f9e9); 
    background: -o-radial-gradient(#fcfffc, #e9f9e9); 
    background: -ms-radial-gradient(#fcfffc, #e9f9e9); 
    background: radial-gradient(#fcfffc, #e9f9e9); 
} 

가장자리 최종 일치하지 않습니다 따라서 색상 요소가 포함 된 요소의 배경색 (그래디언트의 최종 색상 정지와 동일)과 일치하지 않으므로 <div> 가장자리에서 색상이 갑자기 변경됩니다. 어떻게 피할 수 있습니까? Screenshot with adjusted contrast & saturation to make the problem obvious

보기 jsFiddle에 살고 : 조정 대비 & 채도

스크린 샷은 분명 문제를 확인합니다. Chrome OS X 10.7에서 확인 14 & 16, Safari 5.1, Firefox 7 & 9a2; Chrome의 Windows 7 14 & 16, Firefox 7 & 9.0a2.

답변

3
the specs있어서 때문에 방사형 그라데이션 함수 size 인수의 기본값이 cover가요 때문에 알파> 0

가 픽셀 모두 사각형 영역을 커버하려고되도록 원 위치

따라서이 문제를 해결하려면이 인수를 contain : http://jsfiddle.net/kizu/FZAJM/1/ -으로 설정하면 해결됩니다.

+0

대단히 감사합니다! 'contains' 옵션에 대해 몰랐고, 문서를 다룰 때 그것을 놓쳤습니다. 또한,'contain'은'closest-side '의 동의어입니다. –

관련 문제