😊博主页面:鱿年年
👉博主推荐专栏:《WEB前端》👈
💓博主格言:追风赶月莫停留,平芜尽处是春山❤️
目录
前言
CSS还有三大非常重要的特性需要掌握:层叠性、继承性、优先级。
一、层叠性
相同选择器给设置相同的样式,此时一个样式就会被覆盖(层叠)另一个冲突的样式。层叠性主要解决样式冲突的问题。
层叠性的原则:
- 样式冲突,遵循的原则是就近原则,那个样式离结构近,就执行哪个样式。
- 样式不冲突是不会层叠的。
二、继承性
CSS当中的继承:子标签会继承父标签的某些样式,如文本颜色和字号。简单来说就是:子承父业
- 恰当地使用继承可以简化代码,降低CSS样式的复杂性。
- 子元素可以继承父元素的样式(text-,font-,line-等这些元素开头的可以继承,以及color属性也是可以继承的)
2.1行高的继承
body {
font:12px/1.5 黑体;
}
- 行高可以跟单位也可以不跟单位
- 如果子元素没有设置行高,则会继承父元素的行高为1.5
- 此时子元素的行高是:当前子元素的文字大小*1.5
注意:body 行高的1.5倍 这样的写法最大的优势就是里面子元素可以根据自己文字大小自动调整行高。
三、优先级
当同一个元素指定多个选择器时,就会产生优先级,就是权重。
- 选择器相同,则执行层叠性
- 选择器不同,则根据选择器的权重执行
选择器权重值如图所示。
选择器 | 选择器权重 |
继承 或者* | 0,0,0,0 |
元素选择器 | 0,0,0,1 |
类选择器,伪类选择器 | 0,0,1,0 |
ID选择器 | 0,1,0,0 |
行内样式 style='''' | 1,0,0,0 |
!important 很重要重要重要 | 无穷大 |
优先级的注意事项:
- 权重是有4租数字组成,但是不会有进位。
- 可以理解为 类选择器永远大于元素选择器 ID选择器 永远大于类选择器,以此类推。
- 等级判断从左往右,如果某一位数值相同的情况下,则判断下一位数值。
- 可以有简单记忆法:通配符和继承权重为0,标签选择器为1,类(伪类)选择器为10,id选择器为100,行内样式为1000,!important 为无穷大。
- 继承的权重始终为0,如果该元素没有直接选中的话,不管父元素权重多高,子元素得到的权重都是为0。
权重的叠加:如果是复合选择器的话,则会有权重叠加,需要计算权重。
比如:
- div ul li → 0,0,0,3
- .nav ul li → 0,0,1,2
- a:hover → 0,0,1,1
- .nav a → 0,0,1,1
今天晚上就到这里哦,早点休息哦大家。