CSS基础(4)| 青训营笔记

73 阅读2分钟

DAY 8

CSS三大特性

css有三大特性:层叠性、继承性、优先级。

层叠性

相同选择器给设置相同的样式,此时一个样式就会覆盖到另一个样式。层叠性是浏览器处理样式冲突的体现。 image.png 原则:

  • 样式冲突,遵循就近原则。哪个样式离结构近,就执行哪个样式 -不产生冲突的样式就不会发生层叠。

继承性

CSS中的继承,指子标签继承父标签的某些样式,如文本颜色和字号。

image.png 特点:

  • 恰当使用继承可以简化代码,降低CSS样式的复杂性。比如为多个子元素设置文本颜色,只需要设置父元素的样式即可。
  • 子元素可以继承父元素的样式(text-,font-,line-这些元素开头的可以继承,以及color属性)。

优先级(特殊性)

当同一个元素指定多个选择器,就会有选择器的优先级。

image.png

  • 选择器相同,执行层叠性。
  • 选择器不同,根据选择器权重来执行。

选择器权重如下表所示:

image.png 怎么看?

  • 等级从左到右递减,比如类选择器(0,0,1,0)权重大于元素选择器(0,0,0,1),id选择器(0,1,0,0)权重大于类选择器(0,0,1,0),以此类推。
  • 权重由四位数字组成,但不会有进位。
  • 可以简单记忆法:通配符和继承权重为0,元素选择器为1,类选择器为10,id选择器为100,行内样式为1000,!important为无穷大(一般情况最好不要用!importat)。
  • 继承的权重为0。如果该元素没有被选择器选择,则无论父元素权重多高,子元素得到的权重都是0。

权重叠加: 如果是复合选择器,则会有权重的叠加,需要另外计算。

  • div ul li-------> 0,0,0,3 (1+1+1=3)
  • .nav ul li------->0,0,1,2 (10+1+1=12)
  • a:hover------->0,0,1,1 (10+1)
  • .nav a------->0,0,1,1(10+1)