2011-01-13 3 views
13

둥근 모서리가있는 바깥 쪽 div의 경계가 CSS3 그래디언트가있는 내부 요소에 의해 잘려나가는 문제가 있습니다. 이것이 CSS3의 버그입니까? 만약 그렇다면, 나는 행복하게 버그 보고서를 제출할 것입니다.CSS3의 버그 : CSS3 그래디언트가있는 둥근 모서리

그렇지 않은 경우 어떻게 수정해야합니까? 여기

소스 & 데모 : http://jsfiddle.net/joshuamcginnis/2aJ8X/

스크린 샷 :

alt text

+0

그것은 매우 일반적인 문제입니다. – Spudley

답변

15

문제가 그라디언트가 아닙니다. 보시려면 <h2> 요소에 단색 배경을주십시오. 대신 <h2> 및 포장 <div>의 모서리를 둥글게해야합니다.

border-radius: 10px 10px 0 0;과 해당 공급 업체별 버전을 <h2> 스타일에 추가하면 모두 작동합니다.

+0

이 솔루션은 IE를 제외한 모든 브라우저에서 작동합니다. 나는 그라데이션 채우기가 테두리를 "넘치게"보이는 IE9에서만 시도했습니다. (또는 무엇인가 놓치고 있습니까?) 참조 : http://stackoverflow.com/questions/4692686/ie9-border-radius-and-background-gradient- bleeding – cfouche

+0

둥근 모서리는 IE8 이하에서 작동하지 않습니다 – Downpour046

+0

이 해결책은 아닙니다. 컨테이너에 오버플로가있는 것이 좋으며 표시가 가능하고 스크롤 할 수 있습니다. 지금 당장 문제에 직면하고 있습니다 ... – vsync

1

이 배경 그라데이션 특정 아니다. 둥근 모서리의 꼭대기에 겹쳐있는 h2 요소의 배경입니다. 나는 이 아니며은 가장 엄격한 의미의 버그이지만 상당히 잘 알려져 있습니다. 가장 쉬운 '수정'은 배경이있는 요소의 모서리를 반올림합니다. Example: just setup for chrome

2

오버플로 : 숨김;

작동하지만이 수행되지 않습니다 당신이 둥근 모서리에 다른 요소에 대한 배경을 설정할 때

h2 
{ 
    position:relative; 
    z-index:-1; 
.... 
} 
+0

훌륭한 솔루션이며 최상의 결과를 얻습니다. – vsync