前端css最基本概念---選擇器的優先級

css在書寫的過程中難免的會出現對同一個元素的屬性層疊,所以css也叫層疊樣式表,由此帶來的優先級問題值得我們瞭解。

接下來看一段代碼,裏面主要包含了類選擇器,通配選擇器,id選擇器,標籤選擇器以及行內樣式,我用它們分別設置了p標籤字體的顏色,接下來通過刪除來觀察它們的優先級

行內樣式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style type="text/css">
			#p2{
				color: green;
			}
			*{
				color: blue;
			}
			.p1{
				color: yellow;
			}
			p{
				color: black;
			}
		</style>
	</head>
	<body>
		<p class="p1" id="p2" style="color: red;">css選擇器優先級</p>
	</body>
</html>

現在字體顏色爲紅色,如下圖。看來行內樣式是其中的最高優先級。
在這裏插入圖片描述

id選擇器

現在我們把行內樣式刪除,現在顏色變成了綠色,id選擇器起作用了,現在是:行內樣式>id選擇器
在這裏插入圖片描述

類選擇器

現在刪除id選擇器,我們的類選擇器生效了,字體變成了黃色,現在是:行內樣式>id選擇器>類選擇器

在這裏插入圖片描述

標籤選擇器

刪除了類選擇器,我們的標籤選擇器生效,字體爲黑,行內樣式>id選擇器>類選擇器>標籤選擇器

在這裏插入圖片描述

通配選擇器

最後只剩下了通配選擇器,字體爲藍色

在這裏插入圖片描述

得出結論:行內樣式>id選擇器>類選擇器>標籤選擇器>通配選擇器
但是呢僅僅掌握這些還不夠,現實中往往有更復雜的情況。

複雜情況–權重值

選擇器 權重值
通用選擇器 0
標籤選擇器 1
類選擇器 10
id選擇器 100
行內樣式 1000

當我們遇見了一個複合的選擇器,例如 #p .a1 ul,它由類選擇器,id選擇器和標籤選擇器構成,它的權重就是三者權重之和,100+10+1=111
對於初學者計算這些權重可能比較麻煩,只要記住,選擇範圍越小越精確的複合選擇器,他的優先級通常越高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章