CSS Border radius не обрезка изображения на Webkit
Мне трудно понять, почему border-radius исчезает из моего элемента # screen при использовании chrome, но не firefox или ie9?
У меня есть все разные префиксы для каждого браузера плюс стандартный радиус границы:
Www.cenquizqui.com
Верхнее поле содержимого, содержащее изображения, называется # screen
Копипаст css экрана:
#screen {background: none repeat scroll 0 0 #EEEEEE;
display: block;
height: 300px;
position: relative;
width: 960px;
overflow:hidden;
-moz-border-radius:10px;
-webkit-border-radius:10px;
-o-border-radius:10px;
border-radius:10px;}
Это потому, что chrome не обрабатывает "обрезку" изображений должным образом? Я думал, что это всего лишь проблема. когда у вас были фактические теги внутри контейнера с закругленным углом, а не когда img вызывается как фоновое изображение через css.
С уважением
G. Campos
6 ответов:
Вот обходной путь, который исправит текущую ошибку chrome:
.element-that-holds-pictures { perspective: 1px; /* any non-zero value will work */ }Это не повлияет на отображение вообще (в отличие от
opacity:0.99обходного пути - который, кстати, тоже отличный обходной путь).
Webkit не может обрабатывать обрезку границ радиуса для детей и внуков+. Просто все так плохо. Если вы хотите обрезать границы, это должно быть непосредственно на div, на который помещено изображение, не углубляясь в иерархию.
Существует гораздо более простое решение.
Просто добавьте
overflow:hiddenв контейнер, который имеет радиус границы и содержит дочерние элементы. Это предотвращает "перетекание" детей через контейнер.. Таким образом, фиксируя проблему и показывая границу-радиус
Попробуйте использовать следующий css для дочерних элементов элемента с заданным радиусом границы:
opacity:0.99;Это решает проблему и не сильно меняет непрозрачность. Это прекрасно сработало для меня.
Похоже, что вам нужно применить радиус границы к элементу li:
#slides li { display: block; float: left; height: 300px; width: 960px; position: relative; border-radius: 10px; }
У него очень большой радиус границы:
(я только что добавил границу с панелью инструментов разработчика Chrome.)
Радиус границы не ограничивает его содержимое в пределах результирующей области-пространство вне углов все еще занято содержимым элемента.
Я бы рекомендовал наложить изображение, у которого углы вырезаны таким образом (а затем использовать карту или что-то еще, что вам удобно, чтобы по-прежнему включать стрелки влево/вправо).

Comments