CSS结构和层叠
层叠的规则
1.找出所有相关的规则
2.按照显示权重对所有应用到该元素的声明排序,依次是:
读者的重要声明 !important
创作人员的重要声明 !important
创作人员的正常声明
读者的正常声明
用户代理声明
3.按照特殊性对应用到给定元素的所有声明排序,特殊性高的元素权重大于低特殊性的元素
特殊性分为 0 0 0 0
对于选择器中给定的ID属性值,加 0 1 0 0(#meadow这种ID选择方式)
对于选择器中给定的各类属性值,属性选择或者伪类,加 0 0 1 0(*[id="meadow])
对于选择器中给定的各个元素和伪元素,加 0 0 0 1
通配符对于选择器中给定的各个元素和伪元素,加 0 0 0 0(大于继承)
结合符一点作用都没有
CSS2.1中,内联元素声明的特殊性加1 0 0 0
4.按照出现的顺序对应用到给定元素的所有声明排序
如果是权重、来源、特殊性都相同,样式表中后出现的一个会胜出,即外部嵌入的样式表《文档内部的样式表《内联元素的样式表
超链接格式设置:LVHA(love ha~)
: link 有链接(设置了href属性),尚未点击
: visited 有链接,已点击
: hover 鼠标悬停
: active 鼠标点击时那一刹那,注意如果active在hover之前就会出现问题,因为点击的时候一定是悬停,如果两者的权重、来源、特殊性都相同,那么就会是后面一个出现的规则占优
LVHA
继承:
有些属性可以继承,有些不可以。继承没有任何特殊性。使用通配符*的特殊性为0000,所以要尽量避免不假区分地使用通配选择器,因为它会短路继承,因为继承要比通配的特殊性低。
浙公网安备 33010602011771号