为什么YUI重置CSS不通过验证?

时间:2009-08-30 20:33:53

标签: css yui w3c-validation

我尝试使用W3C CSS Validator验证我的网站的CSS。不幸的是,来自YUI框架的reset-min.css在字符串“{* font-size:100%;”上产生了解析错误。

The validator results.

在进一步调查中,我注意到Firefox的错误控制台上出现以下错误:

  

警告:预期声明但找到'*'。跳到下一个声明。

我找不到'*'含义的任何解释,也没有找到这个流行的重置CSS中的问题的参考。

我错过了什么?

2 个答案:

答案 0 :(得分:9)

这是IE7及更低版本的黑客攻击。 IE7及更低版本将跳过星号并继续正常解析CSS。其他浏览器将忽略整个规则。

例如,由于CSS将使用规则的最后声明版本,因此执行以下操作将导致IE7及更低版本使用113%的font-size,而其他浏览器使用font-size段落100%。

p { font-size: 100%; *font-size: 113%; }

webdevout.net还有更多信息。

就我个人而言,我认为使用此类黑客可以解决IE的破坏问题。显然,雅虎!感觉也一样。

答案 1 :(得分:6)

这可能是IE兼容性攻击。

有许多CSS语法错误,某些浏览器(特别是IE 6)会忽略,而其他浏览器则不会。一些CSS文件将使用这些错误来制定一个浏览器将看到的规则,而另一个浏览器则不会。

编辑:有关完整列表,请参阅here。在您的特定情况下,该规则只能由IE 7或更低版​​本看到。