抱歉,上面选择的答案不正确。您可以在 IE 中应用多个过滤器,但它们需要用一个或多个空格分隔。
空格前的逗号也可以使用,但前提是它跟在右括号之后。因此,没有gray 等参数的 IE 4.0 过滤器在这种情况下不起作用。最好只使用空格作为分隔符。
如果您转到上面给出的链接:http://msdn.microsoft.com/en-us/library/ms532847(v=vs.85).aspx,然后单击following example link(当然是在 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 开发人员的影响,您无法控制他们. 如果您的样式被无意覆盖,您需要更具体的声明。)