我正在使用专有的MS“filter”属性,试图创建一个非丑陋的相当于CSS3文本阴影和盒子阴影的效果;
直到我遇到了这个问题,我实际上一直做得很好。看起来当我在另一个也有过滤器的div内应用过滤器时,过滤器效果最终会在子对象上合并。
我尝试使用filter:none;进行重置,但没有成功。我还尝试了不同语法的变体,如“-ms-filter:'progid:...Glow()'”,“filter:progid:... Glow()”,“filter:Glow()”等。
在IE8中进行测试
我正在使用专有的MS“filter”属性,试图创建一个非丑陋的相当于CSS3文本阴影和盒子阴影的效果;
直到我遇到了这个问题,我实际上一直做得很好。看起来当我在另一个也有过滤器的div内应用过滤器时,过滤器效果最终会在子对象上合并。
我尝试使用filter:none;进行重置,但没有成功。我还尝试了不同语法的变体,如“-ms-filter:'progid:...Glow()'”,“filter:progid:... Glow()”,“filter:Glow()”等。
在IE8中进行测试
有一个布尔属性enabled,你可以将其设置为false或true http://msdn.microsoft.com/en-us/library/ms532997%28v=vs.85%29.aspx
示例:
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(enabled=false)";
-ms-filter属性是一个非标准,特定于某些浏览器的CSS属性,在使用时需要将其参数用引号括起来。因此,-ms-filter: "none" 就可以正常工作。
尝试这个:
过滤器: -;
<!doctype html>
<!--[if lt IE 7 ]> <html lang="en" class="ie6 oldie"> <![endif]-->
<!--[if IE 7 ]> <html lang="en" class="ie7 oldie"> <![endif]-->
<!--[if IE 8 ]> <html lang="en" class="ie8 oldie"> <![endif]-->
<!--[if IE 9 ]> <html lang="en" class="ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!-->
<html lang="en" class="gtie9 modern">
<!--<![endif]-->
在你的CSS中使用类似以下的代码:
.ie9 .element {filter: none; }
我发现最好的方法是使用display:inline-block(将white-space:nowrap应用于容器)。但它似乎在IE7及以下版本中效果不佳。
filter:;
- Web_Designerfilter: ;
。我猜这会强制IE将该属性全部删除,因为它不是有效值。 - Bhumi Singhalfilter:none;
来避免语法错误。 - Nic Barbier