CSS有三个特性:层叠性、继承性、优先级
一、层叠性
- 相同选择器给设置相同的样式,此时一个样式就会覆盖(层叠)另一个冲突的样式。层叠性主要用来解决样式冲突的问题
层叠性原则:
- (1)、样式冲突,遵循的原则是就近原则,哪个样式离结构近就执行哪一个,即Css中后面写到样式会层叠掉前面写的样式
- (2)、样式不冲突,就不会有层叠,如果选的是同一个元素,则会按照优先级执行
二、继承性(样式的继承)
- CSS中的继承:子元素会继承父元素标签的某些样式,如文本颜色和字号等
- 简单理解,就是子承父业
- 可以恰当使用继承性可以简化代码,降低CSS样式的复杂性
继承性原则
- 子元素的样式可以继承祖先元素的样式,但是有些样式不能被继承
- 背景样式,边框样式,定位样式,等等都不会被继承
- 只跟文字相关的样式会被继承,如文本大小,文字颜色,行高等
- 像字体相关的[font-size/line-height/font-weight]基本都要继承,而跟盒模型相关的[margin/padding/border]基本就不继承。
优先级性
- 当同一个元素指定多个选择器,就会有优先级的产生
- 选择器相同,则执行层叠行
- 选择器不同,则根据选择器权重优先级执行
- 权重有四位数,有叠加,不会有进位
- 权重:继承或通配符(0)<元素选择器(1)<类选择器/伪类选择器(10)<id选择器(100)<行内样式(1000)<!import(无穷大)
附加:
css样式书写顺序;先布局,其次自身,然后文本,最后其他