以下 IE 过滤器存在问题:
progid:DXImageTransform.Microsoft.Matrix()
progid:DXImageTransform.Microsoft.AlphaImageLoader()
我不能让他们两个同时在同一个元素上工作。
如果我单独应用其中任何一个,它们会起作用,但似乎无法链接这些效果?
有没有人见过这个错误?
什么是正确的语法?
我已经尝试了 SO 和 MS 参考网站上推荐的几种组合,但没有一个能解决我的问题。
以下 IE 过滤器存在问题:
progid:DXImageTransform.Microsoft.Matrix()
progid:DXImageTransform.Microsoft.AlphaImageLoader()
我不能让他们两个同时在同一个元素上工作。
如果我单独应用其中任何一个,它们会起作用,但似乎无法链接这些效果?
有没有人见过这个错误?
什么是正确的语法?
我已经尝试了 SO 和 MS 参考网站上推荐的几种组合,但没有一个能解决我的问题。
如果您希望效果按照您在上面指定的顺序(Matrix
then AlphaImageLoader
)发生,这是不可能的。
这AlphaImageLoader
是一个程序表面,在诸如 Matrix 的静态过滤器描述中指出(强调由我添加):
当多个过滤器应用于一个对象时,每个过滤器都按源顺序进行处理,但首先计算的程序表面除外。要强调过滤器的效果,请将其按源顺序放在最后或放在对象的父级上。始终将转换按源顺序放在最后。
因此AlphaImageLoader
,即使它是最后定义的,也将始终首先处理。如果订单对您来说不是问题(尽管我怀疑是),那么这应该可以:
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader() progid:DXImageTransform.Microsoft.Matrix();
filter
注意调用之间的空格(空格) 。您不能在一个地方调用它,然后在另一个地方调用它,因为它会覆盖以前的filter
. 所以这不起作用,因为第二个会覆盖第一个:
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader();
filter: progid:DXImageTransform.Microsoft.Matrix();