最近阅读了《精通CSS: 高级Web标准解决方案》,书的内容不错,初学者可以用来入门,有经验的人也可以用来查漏补缺,上面对于浏览器兼容和常见bug的解决方案值得参考。选择器的层叠和特殊性对于同一个元素,可能会有多个规则,为了解决规则之间的冲突,CSS 会利用层叠给每个规则分配一个重要度:1、标有 !important 的用户样式2、标有 !important 的作者样式3、作者样式4、用户样式5、浏览器/用户代理应用的样式层叠优先级依次降低,优先级相同的规则,后定义的规则优先。为了计算规则的特殊性,可以给每种选择器分配一个数值,然后,将规则的每个选择器的值加在一起,计算出规则的特殊性。对于一个选择器,其特殊性分为4个成分等级:a, b, c 和 d1、如果样式是行内样式,那么a=12、b是ID选择器的个数3、c是类、伪类和属性选择器的个数4、d是类型/标签选择器和伪元素选择器的个数通配符和继承得到的CSS属性对特殊性没有影响。看一个 demo:选择器规则h2的最终颜色是灰色的,从规则的特殊性分析一下(从左至右依次是abcd的值)选择器特殊性以10为基数的特殊性#content div#main-content h20,2,0,2202#content #main-content>h20,2,0,1201body #content div[id='main-content']
...
继续阅读
(23)