# CSS 优先级计算

  1. 权重记忆口诀:从 0 开始,一个行内样式+1000,一个 id 选择器+100,一个属性选择器、class 或者伪类+10,一个元素选择器,或者伪元素+1,通配符+0。
  2. 行内 > 内联 & 外联,其中内联和外联根据加载顺序,后加载的优先级高于先加载的,口诀,离元素最近的优先级高
  3. 样式应用于非目标标签时,离目标越近者优先,
<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>样式应用于非目标标签时</title>
    <style>
      div p {
        color: red;
      }
      #box {
        color: blue;
      }
    </style>
  </head>
  <body>
    <!-- 选中非目标元素的情况下,离目标越近者优先 -->
    <!-- span应用的样式,p离span比div离span近,故 div p 生效 -->
    <div id="box">
      <p>
        <span>神来之笔</span>
      </p>
    </div>
  </body>
</html>
  1. 同等权重下,靠近目标的优先
  2. 常用选择器权重优先级:!important > id(100) > class(100) > tag(1)
  3. 如果两条样式都使用!important,则权重值高的优先级更高
  4. 同一个 CSS 样式写了两次,后面的会覆盖前面的