在页面设计的过程中,同一个元素可能有两个或更多的样式规则,CSS通过一个称为层叠(cascade)的过程处理这种冲突。层叠给每个规则分配一个重要度,层叠采用以下的重要度次序
1.标有!important的用户样式。
2.标有!important的作者样式。
3.作者样式(外部样式表、内部样式表、内联样式表)。
4.用户样式(浏览器内设立一个CSS文件,应用于所有的HTML文件中)
5.浏览器/用户代理引用的样式。(浏览器的默认样式)
然后,根据选择器的特殊性决定规则的次序,选择器的特殊性分成4个成分等级:a,b,c和d
a:行内样式,权重为1000
b:ID选择器,权重100
c:类、伪类和属性、选择器,权重10
d:标签选择器和伪元素选择器,权重1
注意:继承的特殊性为空。
div.header li{}
#nav div{}
li a:hover{}
第一个例子特殊性为 1+10+1=12
第二个例子特殊性为 100+1=101
第三个例子特殊性为 1+10=11