В Chrome/Safari и Firefox есть свойства -webkit-gradient
и -moz-linear-gradient
. Как я могу сделать то же самое с IE9?
Поддерживает ли IE9 линейные градиенты CSS?
Ответы (3)
Что ж, IE9 еще не готов, но пока похоже, что вам придется использовать SVG. Я не знаю о какой-либо поддержке -ms-gradient или градиента в IE9. Другая вещь, которая отсутствует до сих пор, что меня раздражает, это text-shadow.
http://css3wizardry.com/2010/10/29/css-gradients-for-ie9/
Лучшее кроссбраузерное решение —
background: #fff;
background: -moz-linear-gradient(#fff, #000);
background: -webkit-linear-gradient(#fff, #000);
background: -o-linear-gradient(#fff, #000);
background: -ms-linear-gradient(#fff, #000);/*For IE10*/
background: linear-gradient(#fff, #000);
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#ffffff', endColorstr='#000000');/*For IE7-8-9*/
height: 1%;/*For IE7*/
Лучшее кроссбраузерное решение для IE 9+, соответствующее стандартам W3C (не приводит к ошибке в валидаторе CSS):
background-color: #fff; /* Browsers without linear-gradient support */
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #000)); /* Chrome, Safari 4+ */
background-image: -webkit-linear-gradient(#fff 0%, #000 100%); /* Chrome 10+, Safari 5.1+ */
background-image: -moz-linear-gradient(#fff 0%, #000 100%); /* Fx 3.6+ */
background-image: linear-gradient(#fff 0%, #000 100%); /* W3C */
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorstr='#ffffff', endColorstr='#000000')";
.gradient--test {
background-color: #fff; /* Browsers without linear-gradient support */
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fff), color-stop(100%, #000)); /* Chrome, Safari 4+ */
background-image: -webkit-linear-gradient(#fff 0%, #000 100%); /* Chrome 10+, Safari 5.1+ */
background-image: -moz-linear-gradient(#fff 0%, #000 100%); /* Fx 3.6+ */
background-image: linear-gradient(#fff 0%, #000 100%); /* W3C */
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(gradientType=0, startColorstr='#ffffff', endColorstr='#000000')";
}
.gradient--test {
width: 61.8%;
height: 200px;
}
<div class=gradient--test></div>
В IE 9 введен префикс поставщика -ms-filter
, то есть в соответствии со стандартами, в то же время устаревшие проприетарные фильтры.
Нет необходимости ни в префиксе поставщика -o-
, ни в -ms-
(поскольку IE 10 — это первый IE, поддерживающий градиенты и поддерживающий синтаксис стандартов W3C). См. http://caniuse.com/#feat=css-gradients
Использовать нижний регистр шестнадцатеричные значения цвета для лучшего сжатия gzip и четко указать background-color
и background-image
вместо background
, потому что это может привести к ошибкам рендеринга в браузерах без поддержки линейного градиента. В значительной степени скопировано из моего ответа для этот вопрос.