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