CSS优先级的知识大家应该都比较了解了(如果不了解可以参看《详解CSS的优先权》)。但是,注意哦,这只是W3C的CSS2.1规范自己声称的。而事实上,确实有“极少数的浏览器”并不一定按照这个规则来办。这个“极少数浏览器”我就不点名了哈。
今天介绍一个最简单的。
div.colorful {color: red;}
div .colorful {color: green;}
按照CSS2.1规范里的规则,这两个CSS选择符应该是相同的优先级,应该以最后的为准。但是,在IE里并不是这样哦。
在IE(随便哪个版本)和FF(或Opera)里看这段代码:
提示:您可以修改代码之后再运行
看到了没?标准浏览器里是绿色,而IE里是红色哦。
同样的问题还会出现在:
.colorful div {color: red;}
div .colorful{color: green;}
IE认为,“.colorful div”比“div .colorful”的优先级高。自己去试试看。
但是呢,它会认为“.colorful div”和“div.colorful”的优先级一样。所以结果是
.class html = html.class > html .class这个结论在IE5.5、IE6、IE7、IE8beta1里面都成立。
是不是有点晕了?哈哈~~实在记不住就算了吧~
浙公网安备 33010602011771号