0

以下 IE 过滤器存在问题:

progid:DXImageTransform.Microsoft.Matrix()

progid:DXImageTransform.Microsoft.AlphaImageLoader()

我不能让他们两个同时在同一个元素上工作。

如果我单独应用其中任何一个,它们会起作用,但似乎无法链接这些效果?

有没有人见过这个错误?

什么是正确的语法?

我已经尝试了 SO 和 MS 参考网站上推荐的几种组合,但没有一个能解决我的问题。

4

1 回答 1

2

如果您希望效果按照您在上面指定的顺序(Matrixthen 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();
于 2013-05-02T18:52:43.827 回答