《css mastery》写到层叠重要性指数的次序依次为:
标记为!important的用户样式
标记为!important的作者样式
作者样式
用户样式
浏览器/用户代理的默认样式


这里有个!important,!important是CSS2提出的,是提升指定样式规则的应用优先权。你可能看到或听说IE6不支持!important,可以写hack来区分IE6和其他标准浏览器。实际上不是不支持,而是IE6支持得不完全,或者说是个IE6的Bug。

我们来看下面的例子:

<h2>文字是什么颜色</h2>

情况一:
h2{color:red !important;color:blue;}


情况二:
h2{color:red !important;}
h2{color:blue;}

结果是:第一种情况下,IE6中文字显示蓝色;第二种情况下,IE6文字显示红色。


由此,我们可以得出:在IE6里,重复的属性写在同一对大括号里,后面的将会覆盖前面的,不管上面的属性是否加有!important声明;而写在不同的大括号里,它则会去认加有!important声明的那条属性。

我用IE7测试,似乎还是存在这个Bug,我的IE版本是7.0.5730.13

posted on 2010-03-09 08:56  阿C's  阅读(175)  评论(0编辑  收藏  举报