我知道,针对IE8 +,你应该使用:
<!--[if gte IE 8]>
According to the conditional comment this is IE 8 or higher<br />
<![endif]-->
要定位非IE浏览器,您可以使用:
<!--[if !IE]> -->
According to the conditional comment this is not IE<br />
<!-- <![endif]-->
您还可以组合这样的条件:
[if (IE 6)|(IE 7)]
但是我的问题,现在我想要针对IE8 +或非IE浏览器,我尝试像这样定位它们:
<!--[if (!IE)|(gte IE 8)]> -->
This should be non IE or IE8+ browsers
<!-- <![endif]-->
这似乎适用于非ie浏览器,但将-->
添加到IE。
我猜它与评论类型下层揭示和下层隐藏有关,但我不知道如何处理它们。< / p>
答案 0 :(得分:1)
来自:link
下一个例子恰恰相反:“只显示此内容 浏览器不是Internet Explorer“。
<![if !IE]>
Place content here to target all users not using Internet Explorer.
<![endif]>
条件注释只能由Internet Explorer识别 - 其他浏览器将它们视为普通注释并忽略它们。请注意,在上面的第二个示例(针对“其他”浏览器的那个)中,内容实际上并不在评论中 - 这就是其他浏览器显示它的原因。
所以我认为你不能结合两种不同类型的条件评论
答案 1 :(得分:0)
这对我有用。我最终不得不两次包含非IE-8 css:
<!--[if lt IE 9]>
<link rel="stylesheet" type="text/css" href="/css/ie8.css"/>
<![endif]-->
<!--[if gte IE 9]>
<link rel="stylesheet" type="text/css" href="/css/non_ie8.css"/>
<![endif]-->
<!--[if !IE]><!-->
<link rel="stylesheet" type="text/css" href="/css/non_ie8.css"/>
<!--<![endif]-->
请参阅:
http://msdn.microsoft.com/en-us/library/ms537512.ASPX
http://css-tricks.com/how-to-create-an-ie-only-stylesheet/
http://www.paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/
当然,这会导致性能下降,并使代码难以维护。但它确实有效(至少在我尝试过的浏览器上)。
如果你能找到一个满足你需求的css库,你可以考虑一个好的css库。