CSS学习(三)特指度和层叠
一、特指度
特制度的一般形式是0,0,0,0
- 行内样式,第一位的特指度加一
- id选择符,第二位的特指度加一
- 类选择符、属性选择符、伪类,第三位的特指度加一
- 元素选择符、伪元素,第四位的特指度加一
特指度是从左向右比较的,特指度高的声明胜出。
重要声明:在声明末尾的分号之前插入 !important( 重要声明和非重要声明冲突时,始终胜出 )
二、继承
继承指的是,某些样式不仅应用到所指的元素上,还应用到元素的后代上( 最典型的就是font-family )
下面是继承的两个注意点:
- 继承的值没有特指度,连0都没有,通用选择符( * )的特指度都比他大。所以最好不要在通用选择符里面设置可能继承的值( 除非你雀食要这么做 ),以免出现零特指度战胜无特指度的情况,导致终结继承。
- 继承的值没有特指度,但是有的时候样式无法继承,可能是因为浏览器的内部样式表里面有设置该样式( 浏览器设置的样式就有了特指度,导致无法继承 )
三、层叠
层叠规则先后顺序如下
- 按显示权重( !important )和来源排序( 创作人员样式表覆盖用户代理样式表 )
- 按特指度排序,特指度高的规则胜出
- 按前后位置排序,越靠后的规则胜出(由此可得链接样式的推荐样式:LVFHA)