更新時間:2024年02月03日11時21分 來源:傳智教育 瀏覽次數(shù):
在CSS中,權(quán)重(specificity)是用來確定樣式規(guī)則應(yīng)用優(yōu)先級的一種機制。權(quán)重是由選擇器的組合確定的,其中每個選擇器都有一個特定的權(quán)重值。當(dāng)多個規(guī)則應(yīng)用于同一元素時,瀏覽器使用權(quán)重來確定哪一個規(guī)則應(yīng)該覆蓋另一個規(guī)則。
CSS權(quán)重通常由四個部分組成,按照從最高優(yōu)先級到最低優(yōu)先級的順序為:
應(yīng)用于元素的style屬性。權(quán)重值為1000。
<div style="color: red;">This is red text</div>
通過ID選擇器選擇的元素。權(quán)重值為100。
#myElement { color: blue; }
<div id="myElement">This is blue text</div>
權(quán)重值為10。
.button { background-color: green; }
<button class="button">Click me</button>
權(quán)重值為1。
當(dāng)應(yīng)用多個規(guī)則時,瀏覽器將選擇具有最高權(quán)重的規(guī)則。如果權(quán)重相同,則后定義的規(guī)則將覆蓋先定義的規(guī)則。
舉例說明權(quán)重計算的方法:
#myElement { color: red; /* 權(quán)重值為 100 */ } .button { color: blue; /* 權(quán)重值為 10 */ } p { color: green; /* 權(quán)重值為 1 */ }
如果一個元素同時具有ID為myElement、類為button,且為
元素,那么最終顏色將是紅色,因為ID選擇器的權(quán)重值最高。如果兩個規(guī)則具有相同的權(quán)重,則后定義的規(guī)則將覆蓋前面的規(guī)則。