HTML+CSS基礎(七):CSS選擇器
每一條css樣式宣告(定義)由兩部分組成,形式如下:
選擇器{
樣式;
}
在{}之前的部分就是“選擇器”,“選擇器”指明瞭{}中的“樣式”的作用物件,也就是“樣式”作用於網頁中的哪些元素。
標籤選擇器
標籤選擇器其實就是html程式碼中的標籤。如<html>、<body>、<h1>、<p>、<img>
。
p{font-size:12px;line-height:1.6em;}
上面的css樣式程式碼的作用:為p標籤設定12px字號,行間距設定1.6em的樣式。
類選擇器
.類選器名稱{css樣式程式碼;}
注意:
1、英文圓點開頭
2、其中類選器名稱可以任意起名(但不要起中文噢)
使用方法:
第一步:使用合適的標籤把要修飾的內容標記起來,如下:
<span>膽小如鼠</span>
第二步:使用class=”類選擇器名稱”為標籤設定一個類,如下:
<span class="stress">膽小如鼠</span>
第三步:設定類選器css樣式,如下:
.stress{color:red;}/*類前面要加入一個英文圓點*/
ID選擇器
ID選擇器都類似於類選擇符,但也有一些重要的區別:
1、為標籤設定id=”ID名稱”,而不是class=”類名稱”。
2、ID選擇符的前面是井號(#)號,而不是英文圓點(.)。
<span id="stress">膽小如鼠</span>
#setGreen{
color:green;
}
不同點:
1、ID選擇器只能在文件中使用一次。與類選擇器不同,在一個HTML文件中,ID選擇器只能使用一次,而且僅一次。而類選擇器可以使用多次。
下面程式碼是正確的:
<p>三年級時,我還是一個<span class="stress">膽小如鼠</span>的小女孩,上課從來不敢回答老師提出的問題,生怕回答錯了老師會批評我。就一直沒有這個<span class="stress">勇氣</span>來回答老師提出的問題。</p>
而下面程式碼是錯誤的:
<p>三年級時,我還是一個<span id="stress">膽小如鼠</span>的小女孩,上課從來不敢回答老師提出的問題,生怕回答錯了老師會批評我。就一直沒有這個<span id="stress">勇氣</span>來回答老師提出的問題。</p>
子選擇器
還有一個比較有用的選擇器子選擇器,即大於符號(>),用於選擇指定標籤元素的第一代子元素。
<ul class="food">
<li>水果
<ul>
<li>香蕉</li>
<li>蘋果</li>
<li>梨</li>
</ul>
</li>
<li>蔬菜
<ul>
<li>白菜</li>
<li>油菜</li>
<li>捲心菜</li>
</ul>
</li>
</ul>
.food>li{border:1px solid red;}
這行程式碼會使class名為food下的子元素li(水果、蔬菜)加入紅色實線邊框。
包含(後代)選擇器
包含選擇器,即加入空格,用於選擇指定標籤元素下的後輩元素。
.first span{color:red;}
<p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>
這行程式碼會使第一段文字內容中的“膽小如鼠”字型顏色變為紅色。
請注意這個選擇器與子選擇器的區別,子選擇器(child selector)僅是指它的直接後代,或者你可以理解為作用於子元素的第一代後代。而後代選擇器是作用於所有子後代元素。後代選擇器通過空格來進行選擇,而子選擇器是通過“>”進行選擇。
通用選擇器
通用選擇器是功能最強大的選擇器,它使用一個(*)號指定,它的作用是匹配html中所有標籤元素,如下使用下面程式碼使用html中任意標籤元素字型顏色全部設定為紅色:
- {color:red;}
偽類選擇符
它允許給html不存在的標籤(標籤的某種狀態)設定樣式,比如說我們給html中一個標籤元素的滑鼠滑過的狀態來設定字型顏色:
a:hover{color:red;}
<p class="first">三年級時,我還是一個<a href="http://www.imooc.com">膽小如鼠</a>的小女孩。</p>
上面一行程式碼就是為 a 標籤滑鼠滑過的狀態設定字型顏色變紅。這樣就會使第一段文字內容中的“膽小如鼠”文字加入滑鼠滑過字型顏色變為紅色特效。
關於偽類選擇符,到目前為止,可以相容所有瀏鑑器的“偽類選擇符”就是 a 標籤上使用 :hover 了(其實偽類選擇符還有很多,尤其是 css3 中,但是因為不能相容所有瀏覽器,本教程只是講了這一種最常用的)。其實 :hover 可以放在任意的標籤上,比如說 p:hover,但是它們的相容性也是很不好的,所以現在比較常用的還是 a:hover 的組合。
分組選擇符
當你想為html中多個標籤元素設定同一個樣式時,可以使用分組選擇符(,),如下程式碼為右側程式碼編輯器中的h1、span標籤同時設定字型顏色為紅色:
h1,span{color:red;}
它相當於下面兩行程式碼:
h1{color:red;}
span{color:red;}