第 8 课 13 / 17 | 编码:L08-17
代码推演

后写的规则一定覆盖前面吗?

<style>
  #notice { color: navy; }
  .panel .notice { color: teal; }
  .notice { color: crimson; }
</style>
<section class="panel">
  <p id="notice" class="notice">观察最终颜色</p>
</section>

提问:假定均为同来源、同层的普通声明,无动画和其他规则。文字是什么颜色?只移除 id 属性后又是什么颜色?解释比较顺序。

查看参考解析

有 id 时 navy,移除 id 后 teal。相同层叠条件下先比特异性,ID 高于类;两个类高于一个类。源码顺序只在更早的比较条件相同后决定胜者。