ie 9 поддерживает как фильтр, так и rgba

Я искал решение 2 часа, это не подходящее решение для моего случая.

Я использовал rgba, чтобы установить уровень непрозрачности и цвет фона. Но вы все знаете, что ie8 и ниже не поддерживают это, поэтому я добавляю фильтр для реализации этого для ie8 и ниже версий ie. Но моя проблема в том, что 9 покажет и фильтр, и rgba, что делает цвет другим.

Все атрибуты css генерируются, поэтому здесь я просто могу добавить один атрибут (я не могу использовать <if gt IE9> или отдельный файл css для ie9, что-то вроде этого). Я попытался использовать какой-нибудь css-хак, чтобы сделать rgba прозрачным только для ie9, но css-хак для одного атрибута, такого как :root h{background-color:red/0\IE9;}, не работает, хак css уже исправлен?

Есть ли какое-нибудь решение моей проблемы? Спасибо.


person Tech Noob    schedule 06.08.2012    source источник


Ответы (1)


Решение, которое я предлагаю, состояло бы в том, чтобы переключиться с нацеливания вашего взлома CSS в IE9 на стиль background-colour на использование взлома IE8 и ниже вместо filter.

Лучший способ взлома IE8 и ниже - это взлом \9, как описано здесь.

Так что-то вроде этого:

.myclass {
    background-colour: #rrggbbaa;  /*insert your RGBA colour here.*/
    filter: alpha(opacity=50)\9;   /*the \9 should make it work only in IE8 and earlier*/
}

Отрегулируйте указанное выше в соответствии со своими потребностями.

надеюсь, это поможет

person Spudley    schedule 07.08.2012