# 类型

  • 标签选择器 (如:body, div, p, ul, li)
  • id选择器 (如:id="box" #box{} )
  • 类选择器 (如:class="box" .box{} )
  • 属性选择器 (如:[title="xx"] )
  • 相邻选择器 (如:selector + selector)
  • 兄长选择器 (如:selector ~ selector)
  • 亲子选择器 (如:selector > selector)
  • 后代选择器 (如:selector selector)
  • 通配符选择器 (如:*)
  • 伪类选择器 (如::link, :visited, :hover, :active)
  • 伪元素选择器 (如: ::first-letter, ::before)

# 权重

CSS的选择器权重是以256进制来算的。

类型 权重
!important Infinity
内联样式 style 1000
id选择器 100
类、伪类、属性选择器 10
标签、伪元素 选择器 1
通配符、子、相邻选择器 0
继承样式

相邻、兄长、亲子、后代 这几种选择器的具体权重需要拆分选择器再进行计算, 其本身权重为0,不影响计算。

  • 优先级相同时,采用就近原则。

  • 继承得来的属性,优先级最低。