0

我可以在 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 个不同的样式表?

4

2 回答 2

1

您放在该条件注释中的所有内容都将由相应的浏览器解释。这意味着您可以在单个条件注释中放置多个链接标签。但是在您的情况下,所有这些都将由 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;
}
于 2013-10-06T20:39:13.627 回答
1

如果您想为每个版本的 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]-->
于 2013-10-06T20:39:14.497 回答