3

我们可以这样使用<body class="all" <!--[if IE 7]>class="ie"<![endif]--> >吗?

我想将所有 CSS 保存在一个文件中。

4

4 回答 4

2

简短的回答:(至少,不在线),但你为什么需要?:)

刚刚body { }在 IE 条件样式表中定义了一个样式,如下所示:

<!--[if IE 7]>
  <link rel="stylesheet" type="text/css" href="ie7.css">
<![endif]-->

在里面:

body { /* or body.all { */
  background: pink; /* Pink is pretty!, or green, whatever */
}
于 2010-06-16T01:56:04.447 回答
2

你可以使用:

<body class="all">
  <!--[if ie]>
    <div class="ieOnly">
  <![endif]-->

<div id="content">

<p>...</p>

</div>

  <!--[if ie]>
    </div>
  <![endif]-->
</body>

这样,解决 IE 缺陷/差异的 css 选择器比正常的更具体

#content {/* for non-IE browsers */}

body.all .ieOnly #content {/* for IE */}

...并且应该覆盖“正常”#content规则,并且永远不会被非 IE 浏览器应用,因为.ieOnly选择器中有一个元素对他们来说是“不可见的”。

不过,严格来说,不;尽管有其他方法,但您不能按照您在问题中提出的建议去做。

于 2010-06-16T07:48:09.440 回答
1

不,即使使用 IE 的条件注释,您也不能专门注释掉某个属性。但可能还有其他表达方式。

于 2010-06-16T01:55:15.993 回答
1

如果你想在没有 hack 的情况下基于浏览器向 body 添加一个类,你将需要使用服务器端代码和 UA 嗅探。

于 2010-06-16T02:00:02.070 回答