css屬性選擇器筆記

我是每天被自己菜醒的跳跳,嗯~就很菜!

1. 行間樣式

<div id="boy"  style="background-color: #000000;">

2. 標籤選擇器

書寫方法:

div{
	background: skyblue;
	display: inline-block;
	padding: 20px 30px 40px 50px ;
	}

在css樣式表中寫以標籤的形式書寫.

3. id選擇器

書寫方法:

#d1{
	width: 0;
	height: 0;
	background-color: transparent;
	}

id在頁面中一個名字有且只能有一個,不能重複使用。

4. class選擇器

<div class="d1 d2">

書寫方法:

.d1{
	width: 500px;
	line-height: 100px;
	padding: 30px;
	font-size: 30px;
	background-color: greenyellow;
	}

一個元素可以有多個class,以空格間隔,id不可以。元素在頁面中可以有多個。

 

5. 通配符

書寫方法:

*{
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}

控制整個頁面的標籤,一般放在css樣式表的開頭。特性會選中所有的標籤

 

6. 羣組選擇器

<ul>
	<li class="box1"></li>
	<li class="box2"></li>
	<li class="box3"></li>
</ul>

 

書寫方法:

.box1,.box2,.box3{ 
	width: 100px;
	height: 100px;
	background-color: red;
	}

會給當前所有的選中元素添加上相同的樣式,注意以逗號隔開,沒有空格

7. 包含選擇器

第一種:

<div id="box">
	<div class="a">
		<div id="c">
					
		</div>
	</div>
</div>

書寫方法:

#box .a{
	width: 100px;
	height: 100px;
	background-color: red;
	}
#box .a #c{
	width: 50px;
	height: 50px;
	background-color: #00FFFF;
	}

這裏指的是父級id爲box,class爲a的。注意此處有空格。

嵌套不宜超過三層.

 

第二種:

<div id="box"></div>
<p class="box"></p>

書寫方法:

div#box{
	height: 500px;
	width: 500px;
	background-color: black;
	}

選取div的class爲box的,給其添加樣式,div中class爲a的就不會給他添加。這裏沒有空格。

這裏和子元素沒有任何關係,就是id爲box的div標籤。

 

 

總結包含選擇器:

#d1 div{} 父級id爲d1下的所有div的元素。

div.dd{} div的class爲dd的元素。

.d1+div{} class爲d1的元素後面的一個元素。

.d1~div{} class爲d1的元素後面的所有的元素。

.d1>.dd{} 父級class爲d1的元素下的class爲dd的子元素,也就是他的直接子元素class爲dd的所有元素。

ul l1:nth-child(1){} 父級ul標籤下第一個li元素。

ul li:last-child{} 父級ul標籤下最後一個li元素。

如果子級有id不建議使用包含選擇器。因爲id唯一,並且優先級又非常高。

 

 

7. !important

.d1{
	background-color: yellow;
	width: 200px !important;
	}

優先級最高,高於行間樣式,所以沒有其它樣式可以替換帶有!important的樣式,慎重使用

 

8.繼承(inherit)

<div class="c1">
	<p>繼承</p>
</div>

 

樣式:

.c1{
	height: 100px;
	width: 100px;
	border: 1px solid #FFFF00;
		}
p{
	height: inherit;
		}		

在子元素沒有樣式,父元素有樣式的情況下,子元素會繼承一些父級的樣式。

子元素p標籤沒有繼承父元素的height,在p樣式裏面寫height:inherit;就繼承了父元素的高度。

 

優先級:

1. 首先比較的是選擇器的優先級,其次在優先級相同的時候,才比較的先後順序。

2. 基本上範圍越大,優先級越低。越精準優先級越高,計算方法可以看下面的註釋。

3. !important > 行間樣式 > id > class > 標籤選擇器 > *通配符 > 內部樣式和外部樣式

 

 

註釋計算方法:

通配符優先級 0,0,0,0

標籤選擇器的優先級 0,0,0,1

class選擇器優先級 0,0,1,0

id選擇器優先級 0,1,0,0

 

例子:

	<div class="red">
		<div class="blue">
			文字
		</div>	
	</div>>

css樣式:

.red{
	color: red;
	}
.red div{
	color: skyblue;
	}

 

這裏最終的樣式效果是skyblue。

因爲 .red是class選擇器 優先級 0010=> 10

.red div是class選擇器 還有標籤選擇器,有一個優先級的疊加。

0010 + 0001 = 0011 > 11

最後的結果誰大誰的優先級高。這裏的原理我也不是特別清楚。

.red .blue{
	color: yellow;
	}
.red{
	color: red;
	}
.red div{
	color: skyblue;
	}

 

這裏顏色就變成了yellow

因爲.red .blue = 0010 + 0010 = 0020 =>20 他最終的數字最大他的優先級最高.

注意行間樣式是最高的,和上面計算沒有任何關係。

 

本人是個菜逼,理解有錯誤的地方,歡迎指正。記錄下學習筆記。

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