規範中已經寫的很清楚:
web
count the number of class selectors, attributes selectors, and pseudo-classes in the selector (= b)瀏覽器
計算選擇器裏面的class選擇器,屬性選擇器,僞類選擇器的個數(=b)
在 Selectors Level 3 規範中,一個選擇器的優先級(權重)由依次串聯的a、b、c三個標記來計算,
其中:
spa
ID選擇器「如:#header」的個數(=a)
orm
Class選擇器「如:.foo」、屬性選擇器「如:[class]」、僞類「如::link」的個數(=b)
it
標籤選擇器「如:h1」、僞元素「如::after」的個數(=c)
class
忽略「*」選擇器
select
雖然僞類(如:hover)參與CSS優先級的計算,可是「:not」不參與計算。
webkit
HTML style 屬性內的優先級在CSS2.1中有描述(實際在瀏覽器的實現中它不直接參與優先級的計算)僞元素