окрасьте нейтрализация IE для rgba () не работает

Почему следующая нейтрализация для 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

11
задан surfmuggle 27 February 2018 в 20:00
поделиться

1 ответ

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 соответственно.

http://css-tricks.com/rgba-browser-support/

11
ответ дан 3 December 2019 в 07:36
поделиться