Sim*_*mon 1 css filter internet-explorer-8
我有一个页面使用AlphaImageLoaderIE8 的CSS过滤器,如下所示:
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src ='/ images/thing.png',sizingMethod ='scale');
在我的测试IE8(Windows XP,出厂设置)中,一切都很好.然而,客户端收到了声称也在使用IE8的人的截图,看起来浏览器完全忽略了该filter指令.通过条件注释加载的IE特定样式表中的所有其他样式似乎都有效.IE或Windows中是否有任何设置会导致此问题?
谢谢,西蒙
IE8替换filter用-ms-filter.
如果要支持所有版本的IE,则需要提供这两种样式.
语法-ms-filter略有不同filter:
现在使用完整progid字符串指定所有过滤器(根据您的示例,但以前可以使用较短的语法指定某些过滤器).
值-ms-filter必须用引号括起来.这是为了防止它成为无效的CSS语法(因为它在progidCSS无效之后包含一个冒号;在已知的情况下,已知会导致其他浏览器中的解析错误阻止它们正确读取其余的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')";
}
Run Code Online (Sandbox Code Playgroud)
请注意,IE9已经放弃了对两者的支持,filter并且-ms-filter支持等效的标准CSS3属性.
希望有所帮助.