當(dāng)我們在編寫 CSS 樣式時(shí),經(jīng)常會遇到多個(gè)屬性對同一個(gè)元素進(jìn)行樣式定義的情況,這時(shí)候就需要了解CSS屬性定義的優(yōu)先級。
屬性定義的優(yōu)先級可以從高到低分為下面四個(gè)等級:
1. !important 2. 行內(nèi)樣式 3. ID選擇器 4. 類選擇器、屬性選擇器、偽類選擇器、標(biāo)簽選擇器、通配符
其中,!important 優(yōu)先級最高,可以覆蓋其他所有的樣式定義,應(yīng)該盡量避免使用。而行內(nèi)樣式的優(yōu)先級也比較高,可以覆蓋除了 !important 以外的其他樣式。
ID 選擇器的優(yōu)先級比類選擇器、屬性選擇器、偽類選擇器、標(biāo)簽選擇器以及通配符要高。如果多個(gè)樣式定義都使用了 ID 選擇器進(jìn)行樣式定義,則優(yōu)先采用選擇器權(quán)重高的樣式定義。
當(dāng)多個(gè)同級別的選擇器對同一個(gè)元素進(jìn)行樣式定義時(shí),則選擇器在 CSS 樣式表中出現(xiàn)的位置決定了優(yōu)先級,后出現(xiàn)的樣式定義會覆蓋前面出現(xiàn)的樣式定義。
/* 示范代碼 */ #box { font-size: 14px; color: red; } /* 位置在后,優(yōu)先級更高 */ #box { font-size: 16px; background-color: yellow; } /* 最終樣式:font-size 為 16px,color 為 red,background-color 為 yellow */
了解了 CSS 屬性定義的優(yōu)先級,我們就可以更加靈活地編寫樣式定義,排除各種干擾因素,確保我們的頁面效果達(dá)到最終預(yù)期。