关于css样式的选择问题
当多个css样式发生冲突时,根据下面的几种方法选择采用哪种css样式:
css层叠表:
1,找出所有相关的规则,这些规则都包含与一个给定元素匹配的选择器;
2,按显式权重对应用到该原素的所有声明排序:!important为重要声明,标志!important的规则权重要高于没有!important标志的规则
对于三种来源:创作人员,读者,和用户代理,其权重从大到小的顺序为
(1),读者的重要声明
(2),创作人员的重要声明
(3),创作人员的正常声明
(4),读者的正常声明
(5),用户代理声明
3,按照特殊性对应用到给定元素的所有声明排序,有较高特殊性的元素权重大于有较低特殊性的元素
对于特殊性的判断如下:
1,对于选择器中给定的各个ID值,加 0,1,0,0
2,对于选择器中给定的各个类属性值,属性选择或伪类,加 0,0,1,0
3,对于选择器中给定的各个元素和伪元素,加 0,0,0,1
4,结合符和通配选择器对特殊性没有任何贡献
4,按照顺序对应用到给定元素的所有声明排序
一个声明在样式表或文档中越后出现,它的权重越大
如果两个规则的权重,来源,和特殊性完全相同,那么在样式表中后一个出现的会胜出,会采取后面的样式