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,所以要尽量避免不假区分地使用通配选择器,因为它会短路继承,因为继承要比通配的特殊性低。

 

posted @ 2016-09-12 21:08  ShirleyYang  阅读(170)  评论(0)    收藏  举报