CSS權重優先級是CSS樣式表中非常重要的一個概念。它指定了當樣式沖突時,瀏覽器應該使用哪個規則更優先。
CSS權重優先級中有四個級別,其中元素的數量最高,后面三個則是塊、類和ID。每個等級都有自己的基數:
- 元素:1 - 類,偽類:10 - ID:100 - 行內樣式:1000
優先級的計算是通過將所有規則的基數相加來完成的。例如,對于以下規則:
p { color: white; } #headline { color: blue; }
在這種情況下,ID選擇器的權重等于100,元素選擇器的權重等于1。因此,ID選擇器的優先級較高,應用文本顏色為藍色。
如果兩個規則具有相同的權重,則后面的規則具有更高的優先級。例如:
p { color: white; } p { color: blue; }
在這種情況下,第二個規則的優先級更高,應用了文本顏色藍色。
在計算優先級時,還需要考慮子選擇器和直接后代選擇器的影響。直接后代選擇器的優先級比子選擇器的優先級更高,這是因為直接后代選擇器的基數更高。例如:
div p { color: white; } div >p { color: blue; }
這里,直接后代選擇器的權重為2,而子選擇器的權重為1。因此,直接后代選擇器的樣式優先級更高,將文本顏色設置為藍色。
最后,請注意,在處理行內樣式時,CSS優先級的規則是相同的。這意味著行內樣式的優先級始終是最高的,因此將覆蓋所有其他選擇器中指定的樣式。
上一篇css權威指南第四版目錄
下一篇css權重比較法