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