特殊性(选择器的特殊性):
内联样式特殊性为1000
对于选择器中给定的各个id属性值,为0100
对于选择器中给定的各个类属性值、属性选择或伪类,为0010
对于选择器中给定的元素和伪元素,0001
通配选择器的特殊性为0000
结合符没有特殊性
重要性(!important)
声明的结束符分号之前插入!important。
继承:
样式不仅应用到指定的元素,还会应用到它的后代元素。大多数框模型属性(包括外边框、内边距、背景和边框)都不能继承。继承没有特殊性!
层叠规则:
1、找出所有相关规则,这些规则都包含与一个给定元素匹配的选择器。
2、按显示权重对应到该元素的所有声明排序。标志!important的规则的权重要高于没有!important标志的规则。按来源对应用到给定元素的所有声明排序。共有3种来源:
创作人员、读者和用户代理。正常情况下,创作人员的样式要胜过读者的样式。有!important标志的读者样式要强于所有其他样式,这包括有!important标志的创作人员样式。创作人员样式和读者样式都比用户代理的默认样式要强。
3、按照特殊性对应用到给定元素的所有声明排序。有较高特殊性的元素权重要大于有较低特殊性的元素。
4、按出现顺序对应用到给定元素的所有声明排序。一个声明在样式表或文档中越后出现,他的权重就越大。如果样式表中有导入的样式表,一般认为出现在导入样式表中的声明在前,主样式表中的所有声明在在后。
根据按顺序排序,一般建议按:link :visited :hover :active的顺序声明链接样式。
列如:正在点击的未访问的链接,可匹配的规则有3个 -- :link :hover :active 。按照LVHA的顺序,:active 才能胜出。
摘至 《CSS权威手册》