以下IE过滤器出现问题:
progid:DXImageTransform.Microsoft.Matrix()
progid:DXImageTransform.Microsoft.AlphaImageLoader()
我不能让他们两个同时在同一个元素上工作。
如果我单独使用其中任何一个,它们都能起作用,但似乎无法将这些效果联系起来?
之前有没有人见过这个错误?
正确的语法是什么?
我已经尝试了SO和MS参考站点上推荐的几种组合,但没有一种能解决我的问题。
答案 0 :(得分:2)
如果您希望效果按照上面指定的顺序(Matrix
然后AlphaImageLoader
)发生,则无法实现。
AlphaImageLoader
是procedural surface,the static filters descriptions such as Matrix注意到(我强调添加):
当多个过滤器应用于对象时,每个过滤器都是过程 在源顺序中,,但程序表面除外 先计算。要强调过滤器的效果,请将其放在最后 源订单或对象的父级。始终将过渡放在最后 按来源顺序。
因此AlphaImageLoader
将始终首先处理,即使它是最后定义的。如果订单不是您的问题(虽然我怀疑它是),那么只需就可以:
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader() progid:DXImageTransform.Microsoft.Matrix();
请注意filter
次调用之间的空格(空格)。您不能将其称为一个地方,然后再将其称为另一个地方,因为它将覆盖之前的filter
。 所以这不起作用,因为第二个会覆盖第一个:
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader();
filter: progid:DXImageTransform.Microsoft.Matrix();