有什么方法可以让IE6理解双重类,比如我有一个带有颜色类的MenuButton类,可能还有一个点击类; 喜欢 :
.LeftContent a.MenuButton {..general rules..} .LeftContent a.MenuButton.Orange {..sets background-image..} .LeftContent a.MenuButton.Clicked {...hum ta dum...}
现在,IE6了解,但是当添加Clicked时
,IE就会忽略Clicked规则.
当然,我可以重写我的CSS,并且有.MenuButtonOrange
等自己的规则(而且它可能比询问这个问题要花很多时间;-),
但是很棒,它只是没有吸引力和Web 0.9 ......
干杯!
IE6不支持多个类选择器.您看到Orange
类更改的原因是因为a.MenuButton.Orange
IE6将其解释为a.Orange
.
我建议您以这样的方式构建标记,以便您可以解决此问题:
通过更具体的祖先分组,您可以使用该祖先作用的类创建变体(在此示例中navmenu
):
.leftcontent .navmenu a { /* ... basic styles ... */ } .leftcontent .navmenu a.orange { /* ... extra orange ... */ } .leftcontent .navmenu a.clicked { /* ... bold text ... */ }
它不如多个类好,但我用它来解决IE中缺乏支持的问题.
Dean Edwards的IE7脚本为IE6增加了多个类支持.请参阅http://code.google.com/p/ie7-js/
如果我使用(就像我在问题中写的那样),特定于标签的规则,例如.LeftContent a.MenuButton.Orange,它的工作原理......
如果选择器中的类与元素上的类的顺序相同,它只匹配它们.
这不是真的.IE6(和Quirks模式下的IE7)只记住每个选择器部分的一个类.如果你写两个,第二个会覆盖第一个.因此'a.MenuButton.Orange'与'a.Orange'的效果完全相同.
因此,现在仍然需要避免使用多个类选择器.