我可以在 1 个条件加载中为 IE 错误编写所有 CSS 吗?
<!--[if lt IE 9]>
<link href="ie.css" rel="stylesheet" type="text/css" />
<![endif]-->
如果我使用 LT IE 9 进行 1 条条件注释,我可以在里面为 IE7 和 IE8 编写 CSS,还是需要制作 2 个不同的样式表?
我可以在 1 个条件加载中为 IE 错误编写所有 CSS 吗?
<!--[if lt IE 9]>
<link href="ie.css" rel="stylesheet" type="text/css" />
<![endif]-->
如果我使用 LT IE 9 进行 1 条条件注释,我可以在里面为 IE7 和 IE8 编写 CSS,还是需要制作 2 个不同的样式表?
您放在该条件注释中的所有内容都将由相应的浏览器解释。这意味着您可以在单个条件注释中放置多个链接标签。但是在您的情况下,所有这些都将由 IE 5、6、7 和 8 解释。如果您需要为每个版本提供单独的样式表,则还需要为每个版本提供单独的条件注释。
但你绝对应该看看这篇博文:
http://www.paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/
此方法可以帮助您清理所有这些条件注释。
编辑:
这是一个例子:
HTML:
<!--[if IE]><html class="ie"><![endif]-->
<!--[if !IE]><!--><html><!--<![endif]-->
<head></head>
<body>
<h1>Foo!</h1>
</body>
</html>
CSS:
h1{
font-size:2em;
}
.ie h1{
/* will only apply to IEs - but all of them */
font-size:1.5em;
}
如果您想为每个版本的 IE 使用不同的样式表,您还需要为每个版本设置不同的条件;链接到一个独特的样式表。lt
代表“小于”,或者,还有lte
“小于或等于”。
<!--[if IE 7]>
<link href="ie7.css" rel="stylesheet" type="text/css" />
<![endif]-->
<!--[if IE 8]>
<link href="ie8.css" rel="stylesheet" type="text/css" />
<![endif]-->
<!--[if IE 9]>
<link href="ie9.css" rel="stylesheet" type="text/css" />
<![endif]-->
或者,如果您想对小于或等于 9的所有IE 版本使用相同的样式表,请使用:
<!--[if lte IE 9]>
<link href="ie.css" rel="stylesheet" type="text/css" />
<![endif]-->