# CSS 特性
# 继承性
- 特性:子元素有默认继承父元素样式的特点 (子承父业)
- 可以继承的常见属性 (文字控制属性都可以继承)
- color
- font-style, font-weight, font-size, font-family
- text-indent, text-align
- line-height
- …
- 注意点 :
- 可以通过调试工具判断样式是否可以继承
1 |
|
# 继承失效的特殊情况
- 如果元素有浏览器默认样式,此时继承性依然存在,但是优先显示浏览器的默认样式
- a 标签的 color 会继承失效
- h 系列标签的 font-size 会继承失效
1 |
|
# 层叠性
- 特性 :
- 给同一个标签设置不同的样式 → 此时样式会层叠叠加 → 会共同作用在标签上
- 给同一个标签设置相同的样式 → 此时样式会层叠覆盖 → 最终写在最后的样式会生效
- 注意点 :
- 当样式冲突时,只有当选择器优先级相同时,才能通过层叠行判断结果
1 |
|
# 优先级
- 特性:不同选择器具有不同的优先级,优先级高的选择器样式会覆盖优先级低选择器样式
- 优先级公式 :
- 继承 < 通配符选择器 < 标签选择器 < 类选择器 < id 选择器 < 行内样式 < !important
- 注意点 :
- !important 写在属性值的后面,分好的前面!
- !important 不能提升继承的优先级,只要是继承 优先级最低
- 实际开发中不建议使用!important
1 |
|
# 优先级权重叠加计算
场景:如果是复合选择器,此时需要通过权重叠加计算方法,判断最终哪个选择器优先级最高会生效
权重叠加计算公式 : (每一级之间不存哎进位)
![image-20220301150626428]()
比较规则 :
- 先比较第一级数字,如果比较出来了,之后的统统不看
- 如果第一级数字相同,此时比较第二级数字,如果比较出来了,之后的统统不看
- ……
- 如果最终所有数字都相同,表示优先级相同,则比较层叠性 (谁写在下面,谁说了算)
注意点 : !important 如果不是继承,则权重最高!!!

