天天看点

CSS样式层叠

CSS在HTML中共三种使用方式:

  1. 行内样式
  2. 内嵌样式
  3. 外部样式

详见 CSS在HTML中的使用

CSS选择器最常用的也是三种:

  1. id选择器       #id值
  2. 类选择器      .class名
  3. 标签选择器   p标签名

倘若三种使用方式或三种选择器同时给P标签添加了不同的颜色样式,那最终究竟显示哪种样式呢?

  • 使用方式相同时,样式权重为   id选择器 > 类选择器 > 标签选择器
CSS样式层叠
  • 选择器相同时,样式权重为   内嵌样式 > 外部样式

首先比较样式权重,样式权重高的样式会覆盖样式权重低的样式,最终显示权重最高的样式。

当样式权重相同时,写在后面的样式会覆盖写在前面的样式,最终显示写在最后的样式!

CSS样式层叠
CSS样式层叠
CSS样式层叠

最终样式的确定流程

  1. 筛选出选中该元素的样式
  2. 在选中该元素的样式中,是否存在带 !important 后缀的样式,若存在,则会显示该样式,若没有,继续下一步
  3. 是否存在行内样式,若存在,则会显示行内样式,若没有,继续下一步
  4. 数一下样式选择器上一共有多少个id选择器,id选择器最多的权重最高,将显示该选择器里的样式,若id选择器数量相同,继续下一步
  5. 数一下样式选择器上一共有多少个类选择器(含属性选择器,伪类选择器),类选择器最多的权重最高,将显示该选择器里的样式,若类选择器数量相同,继续下一步
  6. 数一下样式选择器上一共有多少个标签选择器(含伪元素选择器),标签选择器最多的权重最高,将显示该选择器里的样式,若标签选择器数量相同,则显示写在最后的样式

CSS样式定义建议

统一使用外部样式,避免使用!important和id选择器,对指定标签有统一的指定样式时,才使用标签选择器。

CSS样式层叠自测题

CSS样式层叠
CSS样式层叠
CSS样式层叠
CSS样式层叠