当前位置:  开发笔记 > 编程语言 > 正文

在IE6 CSS中使用双类?

如何解决《在IE6CSS中使用双类?》经验,为你挑选了3个好方法。

有什么方法可以让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 ......

干杯!



1> Borgar..:

IE6不支持多个类选择器.您看到Orange类更改的原因是因为a.MenuButton.OrangeIE6将其解释为a.Orange.

我建议您以这样的方式构建标记,以便您可以解决此问题:


通过更具体的祖先分组,您可以使用该祖先作用的类创建变体(在此示例中navmenu):

.leftcontent .navmenu a { /* ... basic styles ... */ }
.leftcontent .navmenu a.orange { /* ... extra orange ... */ }
.leftcontent .navmenu a.clicked { /* ... bold text ... */ }

它不如多个类好,但我用它来解决IE中缺乏支持的问题.



2> Squig..:

Dean Edwards的IE7脚本为IE6增加了多个类支持.请参阅http://code.google.com/p/ie7-js/



3> bobince..:

如果我使用(就像我在问题中写的那样),特定于标签的规则,例如.LeftContent a.MenuButton.Orange,它的工作原理......

如果选择器中的类与元素上的类的顺序相同,它只匹配它们.

这不是真的.IE6(和Quirks模式下的IE7)只记住每个选择器部分的一个类.如果你写两个,第二个会覆盖第一个.因此'a.MenuButton.Orange'与'a.Orange'的效果完全相同.

因此,现在仍然需要避免使用多个类选择器.

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有