我在IE中遇到一些模糊效果问题,如果在IE中打开页面,我想删除这些模糊效果
这些样式在不同位置的样式表中定义
最好的方法是什么?
答案 0 :(得分:2)
尽管Edge在某种意义上是IE的品牌重塑/延续以使其看起来焕然一新,但它仍然是根本不同的,因为它更加半自动且无缝地更新。所以,使用Edge,你不必担心使用旧版本的人,而不是你必须担心的IE。因此,假设您想要定位所有非IE浏览器和Edge,那么以下代码将正常工作。
@supports (top:0){
/*CSS code put here will only run in non-IE*/
}
一个工作示例:
#mytext:before {
content: 'You are using IE < 11, or a REALLY outdate version of another browser'
}
@supports (top:0){
#mytext:after {
content: 'Horay! You are using A non-IE browser or Edge.'
}
#mytext:before {
display: none;
}
}
<div id="mytext"></div>
上述代码的工作方式是测试浏览器是否支持@supports
。我认为,在许多情况下,如果你在非IE浏览器上使用CSS,那么CSS可能无法在甚至不支持@supports
at-rule的浏览器中工作。因此,此方法实现了双重角色:浏览器供应商测试和浏览器支持测试。我使用top:0
的原因是因为它可能是普遍支持的最短CSS标签,几乎每个网络程序员都知道它受到普遍支持。除此之外,top:0
绝对没有什么特别之处:你可以在那里放置你想要测试的任何标签。
答案 1 :(得分:0)
非IE条件评论有点像黑客,因此与您定位IE时的写法略有不同。
<!--[if !IE]><!-->
<link rel="stylesheet" href="not_ie.css" type="text/css" />
<!--<![endif]-->
非IE浏览器会读取此内容,因为它们会完全忽略条件注释,并且注释会被视为已关闭并附加额外内容。 IE会将其视为“非IE”条件,并避免调用样式表。
答案 2 :(得分:0)
Paul Irish在这里有一个很好的,全面的浏览器特定CSS黑客列表: http://www.paulirish.com/2009/browser-specific-css-hacks/
请注意他在该页面顶部关于使用条件注释的声明,如果您可以编辑标记并且不限于CSS,我个人建议。