IE8 заменил filter
на -ms-filter
.
Если вы хотите поддерживать все версии IE, вам необходимо предоставить оба этих стиля.
Синтаксис для -ms-filter
также немного отличается от filter
:
Все фильтры теперь указываются с полной строкой progid
(согласно вашему примеру, но некоторые фильтры ранее могли быть указаны с более короткой строкой).синтаксис).
Значение -ms-filter
должно быть заключено в кавычки.Это сделано для того, чтобы предотвратить недопустимый синтаксис CSS (поскольку он содержит двоеточие после progid
, это недопустимый CSS; известно, что в плохих случаях это вызывает ошибки синтаксического анализа в других браузерах, которые мешают им правильно читать остальную часть файла CSS).
Итак, в вашем примере вам нужны следующие стили:
.myelement {
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/thing.png', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/thing.png', sizingMethod='scale')";
}
Обратите внимание, что IE9 отказался от поддержки как filter
, так и -ms-filter
,в пользу эквивалентных стандартных свойств CSS3.
Надеюсь, это поможет.