2011-01-13 2 views
13

Я столкнулся с проблемой, когда граница внешнего div с закругленными углами обрезается внутренним элементом с градиентом CSS3. Это ошибка с CSS3 - если да, я с радостью отправлю отчет об ошибке.Это ошибка с CSS3: закругленные углы с градиентом CSS3

Если нет, то как это исправить?

Источник & Demo здесь: 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

это решение не хорошо, если контейнер имеет переполнение: видимый и прокручиваемый, и я столкнулся с этой проблемой RIGHT NOW ... – vsync

1

Это не относится к фоновых градиентов. Это только фон h2-элемента, перекрывающегося на вершине закругленных углов. Я не уверен это ошибка в строгом смысле слова, но она довольно хорошо известна. Самое простое «исправить» - округление углов элемента с фоном. Example: just setup for chrome

2

переполнение: скрыто; не работает

но это делает:

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

отличное решение, оно работает лучше всего. – vsync

Смежные вопросы