规范中已经写的很清楚:
count the number of class selectors, attributes selectors, and pseudo-classes in the selector (= b)
计算选择器里面的class选择器,属性选择器,伪类选择器的个数(=b)
在 Selectors Level 3 规范中,一个选择器的优先级(权重)由依次串联的a、b、c三个标记来计算,
其中:
ID选择器「如:#header」的个数(=a)
Class选择器「如:.foo」、属性选择器「如:[class]」、伪类「如::link」的个数(=b)
标签选择器「如:h1」、伪元素「如::after」的个数(=c)
忽略「*」选择器
虽然伪类(如:hover)参与CSS优先级的计算,但是「:not」不参与计算。
HTML style 属性内的优先级在CSS2.1中有描述(实际在浏览器的实现中它不直接参与优先级的计算)