0

我只需要为 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]-->

会发生什么?我发现此链接指向先前的 SO question,这<!--[if IE 8]>意味着“如果 IE 8 或更低”。这是否意味着 using<!--[if IE 8]>将覆盖所有<!--[if IE 7]>css?我的程序会知道<!--[if IE 8]>仅用于 IE 8 和<!--[if IE 7]>IE 7 吗?

4

4 回答 4

4

如果您按照示例进行操作,IE8 将获得 mystyleIE8.css,而 IE7 将获得 mystyleIE7.css。

这些被称为条件注释。您可以将其他语法用于其他场景。在这个例子中:

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

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

有关更多信息,请参见http://www.quirksmode.org/css/condcom.html,例如。

于 2011-04-29T17:51:12.497 回答
4

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

<!--[if IE 8]>

表示如果它是 IE8

<!--[if lt IE 8]>

如果小于 IE 8

<!--[if lte IE 8]>

如果小于等于 IE 8

于 2011-04-29T17:53:15.807 回答
3

凯蒂克是正确的。如果您查看评论:

如果 IE 8

表示“如果浏览器是 IE 版本 8”,其中仅包括 IE8。

如果 IE 7

表示“如果浏览器是 IE 版本 7”,其中仅包括 IE7。

有些语法确实允许小于。但你展示的不是它。对比

如果 lte IE 8

意思是“如果浏览器低于或等于IE版本8”,包括IE8、IE7、IE6、IE5.5。

如果 lte IE 7

意思是“如果浏览器低于或等于IE版本7”,包括IE7、IE6、IE5.5。

于 2011-04-29T17:55:53.607 回答
-1

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

于 2011-04-29T19:29:08.100 回答