CSS中作用的優先級

優先級由高到低(高是 最終css顯示的效果)
用戶的重要聲明(最大):!important>
程序員寫的重要聲明: !important>
內聯(標籤中的style直接寫的那種)>
id選擇器>
類選擇器、屬性選擇器、僞類>
元素選擇器和僞元素(例如:div{color:red})>
通配符選擇器,例如:*{width:200px}>
繼承父元素嵌套div這種,裏面的可以繼承外面標籤的css樣式

css聲明的優先級
	選擇器的特殊性
		選擇器的特殊性由選擇器本身的組件確定,特殊性值表述爲4個部分,如    0,0,0,0
		一個選擇器的具體特殊性如下確定:
		       1.對於選擇器中給定的ID屬性值,加 0,1,0,0
		       2.對於選擇器中給定的各個類屬性,屬性選擇,或僞類,加 0,0,1,0
		       3.對於選擇器中的給定的各個元素和僞元素,加0,0,0,1
		       4.通配符選擇器的特殊性爲0,0,0,0
		       5.結合符對選擇器特殊性沒有一點貢獻
		       6.內聯聲明的特殊性都是1,0,0,0
		       7.繼承沒有特殊性
 
			特殊性 1,0,0,0 大於所有以0開頭的特殊性(不進位)
			選擇器的特殊性最終都會授予給其對應的聲明
			如果多個規則與同一個元素匹配,而且有些聲明互相沖突時,特殊性越大的越佔優勢
 
			注意:id選擇器和屬性選擇器
			      div[id="test"](0,0,1,1) 和 #test(0,1,0,0)   
	重要聲明
		有時某個聲明比較重要,超過了所有其他聲明,css2.1就稱之爲重要聲明
		並允許在這些聲明的結束分號之前插入  !important  來標誌
		必須要準確的放置  !important 否則聲明無效。 
		!important 總是要放在聲明的最後,即分號的前面
		 
		 標誌爲 !important的聲明並沒有特殊的特殊性值,不過要與非重要聲明分開考慮。
		 實際上所有的重要聲明會被瀏覽器分爲一組,重要聲明的衝突會在其內部解決
		 非重要聲明也會被分爲一組,非重要聲明的衝突也會在其內部解決
		 如果一個重要聲明與非重要聲明衝突,勝出的總是重要聲明
	繼承
		繼承沒有特殊性,甚至連0特殊性都沒有
		0特殊性要比無特殊性來的強
	來源
		css樣式的來源大致有三種
		  創作人員
		  讀者
		  用戶代理   
		 
		權重:
		   讀者的重要聲明
		   創作人員的重要聲明
		   創作人員的正常聲明
		   讀者的正常聲明
		   用戶代理的聲明
	層疊  
		1.找出所有相關的規則,這些規則都包含一個選擇器
	    2.計算聲明的優先級
	               先按來源排序
	               在按選擇器的特殊性排序
	               最終按順序
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章