如何验证IE 7/8 CSS hacks?

时间:2011-06-13 16:44:26

标签: internet-explorer css

我已经使用条件注释技术来处理我的IE6 / 7/8 CSS“hacks”,因此主要CSS文件(使用公共/标准类)正确验证(在单独的CSS文件中隔离IE“hacks”) )。

这样的事情:

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

现在我开始使用条件注释向<body>添加一个类(请阅读此答案:CSS if statements... is it right?),然后在我的主CSS文件中定位需要“hack”的类这样我只能有一个文件。

这种方法的问题在于,因为我在一个文件中包含所有内容,这意味着如果我有一些像CSS3 opacity属性那样“简单”的东西:

.mydiv {
    opacity:0.6;
}

IE“对应物”(即:“hack”)必须是:

.mydiv {
    filter:alpha(opacity=60);
 }

哪个无法正确验证。

我知道我之前使用的方法仍有这个问题,但是因为你可以在非IE环境中测试网站,所以它总是经过验证(因为我确保主要CSS有效),现在因为我试图让一个单独的CSS无法验证(原因解释)。

我的问题是如何以验证者认为有效的方式添加此“黑客”?

希望答案应该只是CSS。

3 个答案:

答案 0 :(得分:5)

CSS验证被高估了。诚实。

只要您的标记有效,您的CSS就会很好地构建,并且该网站可以在所有目标浏览器中运行,然后您就完成了自己的工作。 CSS必须验证的内容已经很久了。

答案 1 :(得分:2)

我不认为这是可能的。如果样式表中存在非标准CSS属性,则不会进行验证。没有人可以改变这一点。

我认为您必须选择有效的CSS或使用多个样式表。

答案 2 :(得分:2)

无法验证CSS黑客攻击。如果您希望CSS有效,请返回之前使用的条件注释解决方案。关于CSS验证,许多Web设计师大师如Andy Clarke或Zeldman都反复说CSS应该被用作有用的工具,而不是一般规则。除了帮助您纠正语法错误之外,它不会增加任何实用价值。

相关问题