IE里关于CSS的优先级的bug(一)

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里面都成立。

是不是有点晕了?哈哈~~实在记不住就算了吧~

你可能感兴趣的:(css)