我在div中有一条消息,我需要在未在Internet Explorer中查看的网页上显示。我已尝试过标准<!--[if !IE]>
和其他一些建议,但无济于事。
我有什么遗失的吗?
答案 0 :(得分:2)
我不建议您这样做!
首先,browser detection is evil你应尽可能避免使用它。使用Modernizr之类的功能检测更加用户友好。请记住,很多用户(所有移动用户,Mac用户,Linux用户)都不会选择使用IE,即使他们想要。
话虽如此,有可能......
好的,我们说你的HTML是这样的:
<div id='notOnIE'>Some content, do not display on IE.</div>
隐藏IE9及更早版本中的DIV
:
首先,让我们检测IE9-并使这个DIV在IE中不可见:
<!--[if IE]>
<style type='text/css'>
#notOnIE{ display:none; }
</style>
<![endif]-->
隐藏IE10中的DIV
:
现在,我们需要在IE10中隐藏DIV,将其添加到CSS样式表中:
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
#notOnIE{display:none;}
}
微软故意破坏IE10中的IE标签,因为它支持很多HTML5标准,并且人们(ab)使用这些标签使他们的网站故意在IE中中断而不是渲染半工作版本。
注意:如果您想在IE7及更早版本上显示DIV
:
在你的评论中你建议你测试IE8及更高版本,但是IE7甚至6仍然有用,所以如果你想在这些上显示DIV
,你可以使用版本检测:
<!--[if gte IE 8]>
<style>
#notOnIE{display:none;}
</style>
<![endif]-->