我尝试使用W3C CSS Validator验证我的网站的CSS。不幸的是,来自YUI框架的reset-min.css在字符串“{* font-size:100%;”上产生了解析错误。
在进一步调查中,我注意到Firefox的错误控制台上出现以下错误:
警告:预期声明但找到'*'。跳到下一个声明。
我找不到'*'含义的任何解释,也没有找到这个流行的重置CSS中的问题的参考。
我错过了什么?
答案 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或更低版本看到。