CSS的三大特性
CSS有三个非常重要的特性:层叠性、继承性、优先级
1.层叠性
相同选择器给设置相同的样式,此时一个样式就会覆盖另一个冲突的样式,层叠性主要解决样式冲突的问题 层叠性原则:
- 样式冲突,遵循的原则就是就近原则,那个样式离结构近,就执行哪个样式
- 样式不冲突,不会层叠
<style> p { color: yellow; font-size: 25px; } p { color: violet; } </style> <body> <p>good test</p> </body>
运行截图:
上述可知颜色color冲突,由于就近原则,紫色覆盖了黄色显示紫色,而字体大小不冲突没覆盖。
2.继承性
CSS中的继承:子标签会继承父标签的某些样式,如文本颜色和字号。<style> div { color: yellow; font-size: 25px; } </style> <body> <div> <p>good test</p> </div> </body>
运行截图:
上述可知 p 标签继承了父标签 div 的属性。2.2行高的继承性
body{ font:12px/1.5 Microsoft YaHei; }
- 如果子元素没有设置行高,则会继承父元素行高为1.5
- 此时子元素行高为:当前文字大小*1.5
- body行高1.5,这样写法最大的优势就是里面的元素可以根据自己文字的大小自动调整行高
3.优先级
当一个元素指定多个选择器,就会有优先级的产生
- 选择器相同,则执行层叠属性
- 选择器不同,则根据选择器权重执行
权重如下
注意:继承的权重为0,如果该元素没有直接选中,无论父元素权重多高,子元素权重为0权重叠加:
如果是复合选择器,则会权重叠加,需要计算权重
例如:
- div ul li 相加---- 0,0,0,1 + 0,0,0,1 +0,0,0,1 = 0,0,0,3
- .nav p 相加----- 0,0,1,0 + 0,0,0,1 = 0,0,1,1
CSS的三大特性
最新推荐文章于 2023-01-20 10:00:00 发布