我们可以这样使用<body class="all" <!--[if IE 7]>class="ie"<![endif]--> >
吗?
我想将所有 CSS 保存在一个文件中。
我们可以这样使用<body class="all" <!--[if IE 7]>class="ie"<![endif]--> >
吗?
我想将所有 CSS 保存在一个文件中。
简短的回答:不(至少,不在线),但你为什么需要?:)
刚刚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 */
}
你可以使用:
<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
选择器中有一个元素对他们来说是“不可见的”。
不过,严格来说,不;尽管有其他方法,但您不能按照您在问题中提出的建议去做。
不,即使使用 IE 的条件注释,您也不能专门注释掉某个属性。但可能还有其他表达方式。
如果你想在没有 hack 的情况下基于浏览器向 body 添加一个类,你将需要使用服务器端代码和 UA 嗅探。