CSS选择器权重与优先级

495 阅读1分钟

权重等级

优先级从低到高

  • 继承,通配符(*),权重为0
  • 元素选择器,伪元素选择器,(如h1,::before),权重为1
  • 类选择器,伪类选择器,属性选择器,(如.nav,:hoverr,[attribute]),权重为10
  • ID选择器,(如#nav),权重为100
  • 行内样式,(如style=""),权重为1000
  • !important 重要的,权重为无穷大

注意: 当权重相同时,采取就近原则,与元素距离近的选择器生效。

关于!important

  • 一定要优先考虑使用样式规则的优先级来解决问题而不是 !important
  • 只有在需要覆盖全站或外部 CSS 的特定页面中使用 !important
  • 永远不要在你的插件中使用 !important
  • 永远不要在全站范围的 CSS 代码中使用 !important

权重叠加

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

在这里插入图片描述 权重计算结果越高,优先级越高。