CSS樣式表有一套規(guī)則來處理不同的樣式定義優(yōu)先級,也就是樣式權(quán)重。
權(quán)重是指瀏覽器根據(jù)CSS規(guī)則對樣式優(yōu)先級進(jìn)行估算處理的值,權(quán)重高的樣式會(huì)覆蓋權(quán)重低的樣式。
權(quán)重由四個(gè)部分(a、b、c、d)組成,它們的優(yōu)先級依次遞增。以下是權(quán)重的計(jì)算規(guī)則:
a:行內(nèi)樣式,如style="" b:ID選擇器,如#example c:類選擇器/屬性選擇器/偽類選擇器,如.example、[type="radio"]、:hover d:元素/偽元素選擇器,如div、:after
當(dāng)樣式應(yīng)用在同一元素上時(shí),權(quán)重高的樣式會(huì)覆蓋權(quán)重低的樣式。如:
div { color: red; } div { color: blue; }
以上代碼中,color屬性被設(shè)置了兩次,但最終生效的是color: blue,因?yàn)闄?quán)重高。相同權(quán)重的樣式,以最后定義的樣式為準(zhǔn)。如:
div { color: red; } p { color: blue; } div, p { color: green; }
以上代碼中,color被設(shè)置了三次,但由于權(quán)重一樣,所以最終生效的是color: green。
通過了解權(quán)重計(jì)算規(guī)則,我們可以更好地管理和優(yōu)化CSS樣式表,確保樣式按預(yù)期運(yùn)行。