Почему следующая нейтрализация для IE color: red;
не работает?
В IE7 цвет black
вместо red
.
Живая демонстрация здесь
HTML:
Hello
CSS:
div {
width: 200px;
height: 100px;
background-color: blue;
text-align: center;
}
span {
font-size: 2em;
color: red;
color: rgba(250, 250, 97, 0.9);
}
Mozilla mdn на списках цветов CSS различные варианты для color: value
color:
и значение может быть ключевым словом red
или rgb(255,0,0)
rgba(0,0,0,0)
RGBA не поддерживается в IE.
Однако, когда он видит ваш стиль color:, он пытается оценить его и возвращается к цвету по умолчанию (#000000). Вы могли бы использовать здесь хак для IE, например
*color: red;
Но если предположить, что вы пытаетесь повлиять только на цвет фона, а не на непрозрачность всего элемента, лучше всего использовать фильтр, который устанавливает желаемое значение rgba как начальный и конечный цвет градиента - создавая фон rgba.
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000050,endColorstr=#99000050);
-ms-filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000050,endColorstr=#99000050);
Но помните - IE предполагает, что Alpha является первым, а не последним, поэтому не стоит просто конвертировать и копировать свои значения. Двойной фильтр предназначен для IE6 и IE7 соответственно.