IE CSS «фильтры» нарушают альфа-прозрачность - PullRequest
6 голосов
/ 10 августа 2011

Я пытаюсь выяснить, есть ли странное решение этой странной проблемы.

По сути, IE> = 7 отлично поддерживает прозрачность PNG, а также поддерживает много новых интересных вещей вCSS3 в течение многих лет, через странные настройки в свойстве «filter».

Однако, когда вы применяете фильтр к элементу с фоном PNG, альфа-прозрачность этого фона в основном нарушается (очень похоже на то, какIE6 сделал).

Если возможно, я бы хотел использовать свойства CSS3, которые мне дают другие браузеры, а также получить их в IE, вместо того, чтобы реализовывать их в JS (переходы) или вообще не выполнять (ротации)), но я не могу, если не найду исправления для проблемы полупрозрачности.

Кто-нибудь из вас нашел эту проблему и исправление для нее?


РЕДАКТИРОВАТЬ: Добавленонекоторый код, хотя я не уверен, что он много иллюстрирует:

#.faded {
    filter:progid:DXImageTransform.Microsoft.Fade(duration=2)
}

Когда я добавляю это, непрозрачность PNG нарушается в IE для этого элемента.Это на самом деле происходит со всеми фильтрами или, по крайней мере, со всеми, что я пробовал.


Спасибо!
Даниэль

Ответы [ 2 ]

1 голос
/ 10 августа 2011

Вы уже пробовали CSS3 PIE или какое-либо другое стороннее решение - не нужно заново изобретать колесо, если существующее решение уже работает.

0 голосов
/ 17 августа 2011

Лучшая попытка, которую я мог сделать, была: http://jsfiddle.net/xtT6b/

Смысл состоит в том, чтобы отделить блок с фильтром от блока с фоном и добавить фильтр alphaImageLoader в блок с фоном.

Тем не менее, это не идеально, и в некоторых случаях в IE7 результат может быть хорошим, но в других случаях могут быть некоторые артефакты.

...