0

我知道要针对 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。

我猜这与下层显示的评论类型和下层隐藏的评论类型有关,但我不确定如何处理它们。

4

2 回答 2

1

来自:链接

下一个示例正好相反:“仅当浏览器不是 Internet Explorer 时才显示此内容”。

<![if !IE]>
Place content here to target all users not using Internet Explorer.
<![endif]>

条件注释只能被 Internet Explorer 识别——其他浏览器将它们视为普通注释并忽略它们。请注意,在上面的第二个示例中(针对“其他”浏览器的示例),内容实际上并不在评论中——这就是其他浏览器显示它的原因。

所以我认为你不能结合两种不同类型的条件注释

于 2013-06-12T16:12:51.560 回答
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 库,您可能会考虑使用它。

于 2014-03-17T03:14:03.267 回答