如何验证IE 7/8 CSS hacks?

问题描述

| 我已经为我的IE6 / 7/8 CSS \“ hacks \”使用了条件注释技术,因此主CSS文件(带有通用/标准类)可以正确验证(将IE \“ hacks \”单独隔离) CSS文件)。 像这样:
<!--[if IE 7]>
<link href=\"css/layoutIE7.css\" rel=\"stylesheet\" type=\"text/css\" />
<![endif]-->
现在,我开始使用条件注释将类添加
<body>
中(请阅读以下答案:CSS if语句...对吗?),然后在主CSS中定位需要\“ hack \”的类文件,这样我只能有一个文件。 这种方法的问题在于,因为我将所有内容都保存在一个文件中,所以这意味着如果我将CSS3
opacity
属性内容设为“简单”:
.mydiv {
    opacity:0.6;
}
IE \“配对\”(即:\“ hack \”)必须类似于:
.mydiv {
    filter:alpha(opacity=60);
 }
哪个验证不正确。 我知道我以前使用的方法仍然存在此问题,但是由于您可以在非IE环境中测试该站点,因此它始终经过验证(因为我确保主要的CSS有效),因为我正在尝试拥有一个未经验证的CSS(出于解释的原因)。 我的问题是如何以验证者认为有效的方式添加此“ hacks”? 希望答案应该仅是CSS。     

解决方法

        我认为这是不可能的。如果样式表中存在非标准CSS属性,则该属性将无法验证。没有人可以改变这一点。 我认为您必须选择有效的CSS或使用多个样式表。     ,        CSS验证过高。老实说 只要您的标记能够通过验证,CSS的构造就很好,并且该站点可以在所有目标浏览器中正常工作,那么您就可以完成工作。 CSS必须验证的事实已久违。     ,        无法验证CSS hacks。如果希望CSS有效,请返回之前使用的条件注释解决方案。关于CSS验证,许多Web Designer专家,例如Andy Clarke或Zeldman,都反复说过CSS应该用作有用的工具,而不是通常的做法。除了帮助您纠正语法错误之外,它没有任何实际价值。