天天看點

css的選擇器優先級

**

一、CSS樣式表的特征

**

繼承性

1、子級元素可以直接使用父級元素聲明好的樣式(這裡不是所有的樣式都可以被繼承)

層疊性
	一個勻速可以聲明多個樣式
	注意:如果樣式不沖突,多個樣式規則中的樣式可以層疊為一個。

優先級
	樣式定義産生沖突時按照不同的樣式使用“優先級”來應用樣式
	在們三種引入方式中誰的優先級最高(行内樣式表)
	低:浏覽器預設值
	中:外部樣式表或者内部樣式表
	高:内部樣式表
	
!improtant
作用:顯示調整樣式的優先級
文法:屬性名稱: 值!improtant
      注意: IE浏覽器 8 以下 不支援的
				破壞了優先級規則
           

二、CSS基礎選擇器

**1.通用選擇器**
		作用:比對到頁面中所有的元素
		文法:*{樣式1;樣式2;}
		*優點:一個樣式整個頁面都可以被改變
		缺點:效率低,盡可能的少用
		一般可用于樣式
           
例如*:*{*
				margin:0px;
					padding:0px;
						}
           
2.标簽選擇器
		作用:定義頁面的某一個标簽的預設樣式
		文法:	标簽名{樣式1;樣式2}
           
例如:p{
						color:red;
}
			
           
**3.類選擇器**
		作用:由CSS定義好,可以被任意标記的Class屬性值進行引用的選擇器
		文法:	1.在标簽中添加 class屬性 并且給他一個名字
				2.在style中 用.類名{}方式進行樣式編寫
		注意:類名:不能以數字開頭,除了 _ , - 以外的特殊符号都不能使用
           

例如:.xx{

width:500px;

height:500px

}

css的選擇器優先級
**4.ID選擇器**
		作用:針對指定id值得元素去定義樣式
		文法: 1.在元素中定義id屬性
			   2.在style中用#id名進行樣式編寫
		注意:	id是唯一的
				一定要對應頁面某個元素的id值
           
css的選擇器優先級
例如:
					#xx{
							margin-left:50px;
							padding-top:60px;
}
           
盒子内向右的内邊距移動50px,盒子外向上移動60px
					class裡面可以同時存在多個類名但是id不能存在多個id名
		優先級  ID  >  類  > 标簽 > *
		
		**5.群組選擇器**
			作用:選擇器聲明 以 , 隔開的選擇器清單
			文法:	
					選擇器1,選擇器2,。。。。{樣式1,;樣式2}
		

> 	ps:不同的選擇器都可以被選中(都可以連着用)

		

例如:
		.go,.ni{
			background-color:red;
		}
		**6.後代選擇器**
			後代:隻要具備層級關系的元素,被嵌套的都可以稱為後代元素
		

> 	文法:	
> 					#div1 span{}
> 
> 
> 注意:中間用空格隔開,并且他們隻能是父子級的關系

			
		

**7.子代選擇器**
		

> 	子代:隻具備一級層級關系的子元素,被嵌套的(被包括的)稱之為子代元素
> 
> 
> 文法 : #div2 > span{}

			
		

**8.僞類選擇器**
			1.hover
		**9. 選擇器的優先級** 
			選擇器的類型        權值
			元素選擇器          0,0,0,1
			類選擇器            0,0,1,0
			僞類選擇器          0,0,1,0
			id選擇器            0,1,0,0
			内聯樣式            1,0,0,0
	

> 	注意:選擇器的權值加到一起 大的是優先 如果權值相同的話,後定義的優先

		**10.選擇器的優先排序**
 	id選擇器>類選擇器>标簽選擇器>通用選擇器>繼承