前言
重叠样式表的冲突是通过重叠过程排序,最终确定文档的显示方式的,也就是是说通过重叠排序来处理冲突问题。这过程起决定性作用的是选择器及其相关申明的特殊性,以及继承机制。
基本流程
1、找出所有相关规则,这些规则保护给定元素匹配的选择器;
2、按显示权重对应用到该元素的所有声明排序;
3、按照特殊性对应用到给定元素的所有声明排序;
4、按照顺序对应用到给定元素的所有声明排序。
显示权重
按照规则的重要性是普通和重要,按照来源是用户、制作者、浏览器。
从高到低是
1、用户 重要
2、制作者 重要
3、制作者 普通
4、用户 普通
5、浏览器
其中所谓重要和普通就是看是否在样式中加入!important
h1 {color:#333!important;}
特殊性
1、ID选择器:0.1.0.0;
2、类选择器,属性选择或者伪类选择器:0.0.1.0;
3、元素和伪元素:0.0.0.1;
4、结合符和通配符对特殊性没贡献:0.0.0.0 存疑?到低是无特殊性还是0特殊性
5、ID选择器和属性ID选择器的特殊性是不同的。
6、内联样式的特殊性:1.0.0.0
7、继承无特殊性,比0特殊性还低。
8、非css样式特殊性会处理为0。
顺序
越往后,越有效。
CSS:层叠样式表的冲突处理,古老的榕树,5-wow.com