抱歉,上面选择的答案不正确。您可以在 IE 中应用多个过滤器,但它们需要用一个或多个空格分隔。
空格前的逗号也可以使用,但前提是它跟在右括号之后。所以没有参数的IE 4.0过滤器gray
在这种情况下不起作用。最好只使用空格作为分隔符。
如果您转到上面给出的链接:http: //msdn.microsoft.com/en-us/library/ms532847 (v=vs.85).aspx ,然后单击以下示例链接(当然是在 IE 中) ,您会看到旋转和模糊都应用于第二张图像。从“查看源代码”,图像标签是:
<img id=image2 src="/workshop/samples/author/dhtml/graphics/sample.jpg"
style="filter:progid:DXImageTransform.Microsoft.Blur(strength=50),
progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"
height="165px" width="256px" border="0" alt="ocean beach">
我在某种程度上成功地模拟了 IE7 和 8 中盒子阴影的“传播”(尽管成功取决于您认为它看起来的可接受程度),使用:
filter: progid:DXImageTransform.Microsoft.Shadow(Color=#c5c1ae, Strength=10, Direction=0)
progid:DXImageTransform.Microsoft.Shadow(Color=#c5c1ae, Strength=10, Direction=90)
progid:DXImageTransform.Microsoft.Shadow(Color=#c5c1ae, Strength=10, Direction=180)
progid:DXImageTransform.Microsoft.Shadow(Color=#c5c1ae, Strength=10, Direction=270);
以便阴影从 div 的各个方面扩散。我还在包含渐变的 div 上组合了阴影。然而,这并非一帆风顺。在上面的例子中,阴影有布局,你必须调整边距以适应它们的大小。此外,由于 IE 是 IE,其中一些过滤器的组合可能会产生意想不到的后果,从而导致开发变通方法、放弃方法和拔掉头发。
在您问题的原始示例中,如果您列出了多个过滤器,则前一个过滤器将被后续过滤器覆盖,就像任何其他 CSS 属性一样。在您的第二个示例中,“!important”需要完全位于样式的末尾,否则整个 CSS 块会因为格式错误而被丢弃。(实际上, !important 需要完全抛弃。您需要使用它的唯一原因是,如果您正在开发第三方代码并且需要保护您的标签免受另一个 !important-happy 开发人员的影响,您无法控制他们. 如果您的样式被无意覆盖,您需要更具体的声明。)