仅适用于IE 8的CSS

时间:2011-04-29 17:49:04

标签: css internet-explorer conditional-comments

我需要为IE 8设置一些项目的样式。如果我这样做:

<!--[if IE 8]><link rel="stylesheet" href="mystyleIE8.css" type="text/css" media="screen, projection"/><![endif]-->

然后我做:

<!--[if IE 7]><link rel="stylesheet" href="myStyleIE7.css" type="text/css" media="screen, projection"/><![endif]-->

会发生什么?我发现这个link to a previous SO question暗示<!--[if IE 8]>表示“如果IE 8或更低”。这是否意味着使用<!--[if IE 8]>会覆盖所有<!--[if IE 7]> css?我的程序是否知道仅将<!--[if IE 8]>用于IE 8并将<!--[if IE 7]>用于IE 7?

4 个答案:

答案 0 :(得分:4)

如果你在你的例子中这样做,IE8将获得mystyleIE8.css,IE7将获得mystyleIE7.css。

这些被称为条件评论。您可以将其他语法用于其他方案。在这个例子中:

<!--[if lte IE 7]>
stuff
<![endif]-->

“stuff”仅适用于所有版本的Internet Explorer 7及更低版本。

有关详情,请参阅http://www.quirksmode.org/css/condcom.html

答案 1 :(得分:4)

这并不意味着“如果IE 8或更低”。

<!--[if IE 8]>

表示是否为IE8

<!--[if lt IE 8]>

如果小于IE 8

<!--[if lte IE 8]>

如果小于或等于IE 8

答案 2 :(得分:3)

KatieK是对的。如果您查看评论内容:

  

如果IE 8

表示“如果浏览器是IE版本8”,则仅包含IE8。

  

如果IE 7

表示“如果浏览器是IE版本7”,则仅包含IE7。

语法允许少于。但你展示的不是它。与

对比
  

如果是IE 8

表示“如果浏览器小于或等于IE 8”,包括IE8,IE7,IE6和IE5.5。

  

如果是IE 7

表示“如果浏览器小于或等于IE 7”,包括IE7,IE6和IE5.5。

答案 3 :(得分:-1)

您可以尝试以下CSS Hacks。有趣的东西。