CSS選擇器和權重是前端開發者必須了解的重要概念。選擇器決定哪些元素將被樣式化,權重決定當多個規則應用于同一元素時哪個規則具有優先權。
選擇器:CSS選擇器根據元素的標簽名、類別、ID或屬性的值來匹配元素。最基本的選擇器是標簽選擇器,它會選中文檔中所有該標簽的元素。例如,
p { color: red; }會使文檔中所有的段落文本顏色變為紅色。
類別選擇器以點(.)為前綴,選擇與指定類別名匹配的元素。例如,
.highlight { background-color: yellow; }會選中所有類別為“highlight”的元素,并將它們的背景顏色改為黃色。
ID選擇器以井號(#)為前綴,選擇與指定ID匹配的元素。例如,
#logo { height: 100px; }會選擇ID為“logo”的元素,并將它的高度改為100像素。
屬性選擇器根據元素的屬性值匹配元素。例如,
[type="button"] { border: 1px solid gray; }會選中所有類型為“button”的元素,并將它們的邊框樣式改為1像素的灰色實線。
權重:當同一元素匹配多個CSS規則時,將按規則的權重來決定元素應用哪些樣式。選擇器的權重由4個等級組成,從高到低依次是:
ID選擇器:特定的ID選擇器 為 100 類別選擇器、屬性選擇器和偽類選擇器:為10 標簽選擇器和偽元素選擇器:為1 內聯樣式:為0
權重等級的加權相加結果將決定應用于元素的樣式。例如,
#logo { background-color: red;}的權重為100,
.logo { background-color: green; }的權重為10,那么帶有ID“logo”的元素將應用紅色背景,而其他帶有類別“.logo”的元素將應用綠色背景。
需要注意的是,內聯樣式具有最高優先級,將覆蓋所有其他樣式表中的樣式。因此,應盡可能避免使用它。
上一篇css選擇器及屬性說明
下一篇關于css的繼承和層疊