本文根據慕課網視頻整理:http://www.imooc.com/code/2022
定義
每一條css樣式聲明(定義)由兩部分組成,形式如下:
選擇器{
樣式;
}
在{}之前的部分就是“選擇器”,“選擇器”指明瞭{}中的“樣式”的作用對象,也就是“樣式”作用於網頁中的哪些元素。
標籤選擇器
標籤選擇器其實就是html代碼中的標籤。如<html>
、<body>
、<h1>
、<p>
、<img>
等標籤。例如下面代碼:
p{font-size:12px;line-height:1.6em;}
上面的css樣式代碼的作用:爲<p>
標籤設置12px字號,行間距設置1.6em的樣式。
類選擇器
類選擇器在css樣式編碼中是最常用到的,語法如下:
.類選器名稱{css樣式代碼;}
- 英文圓點開頭
- 其中類選器名稱可以任意起名(但不要起中文)
使用方法:
- 使用合適的標籤把要修飾的內容標記起來,如下:
<span>
膽小如鼠</span>
- 使用class=”類選擇器名稱”爲標籤設置一個類,如下:
<span class="stress">膽小如鼠</span>
- 設置類選器css樣式,如下:
.stress{color:red;}/*類前面要加入一個英文圓點*/
示例:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>認識html標籤</title>
<style type="text/css">
.setRed{
color:red;
}
.setGreen{
color:green;
}
</style>
</head>
<body>
<h1>HTML</h1>
<p>HTML是Web前端的<span class="setRed">必備知識</span>,當然也是學習PHP的<span class="setGreen">必備知識</span></p>
</body>
</html>
ID選擇器
在很多方面,ID選擇器都類似於類選擇符,但也有一些重要的區別:
1. 爲標籤設置id=”ID名稱”,而不是class=”類名稱”
2. ID選擇符的前面是井號(#)號,而不是英文圓點(.)
示例:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>認識html標籤</title>
<style type="text/css">
#setRed{
color:red;
}
#setGreen{
color:green;
}
</style>
</head>
<body>
<h1>HTML</h1>
<p>HTML是Web前端的<span id="setRed">必備知識</span>,當然也是學習PHP的<span id="setGreen">必備知識</span></p>
</body>
</html>
類選擇器和ID選擇器的區別
相同點:都可以用在任何元素上
不同點:
1. ID選擇器只能在文檔中使用一次。與類選擇器不同,在一個HTML文檔中,ID選擇器只能使用一次,而類選擇器可以使用多次。
2. 可以使用類選擇器詞列表方法爲一個元素同時設置多個樣式。我們可以爲一個元素同時設多個樣式,但只可以用類選擇器的方法實現,ID選擇器是不可以的(不能使用 ID 詞列表),如下方的代碼:
.stress{
color:red;
}
.bigsize{
font-size:20px;
}
<p>到了<span class="stress bigsize">HTML</span>有點意思</p>
上面代碼的作用是爲“HTML”四個字母設置文本顏色爲紅色並且字號爲20px。
子選擇器
即>
符號,用於選擇指定標籤元素的第一代子元素
示例:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>子選擇符</title>
<style type="text/css">
.food>li{border:1px solid red;}/*添加邊框樣式(粗細爲1px, 顏色爲紅色的實線)*/
</style>
</head>
<body>
<h1>食物</h1>
<ul class="food">
<li>水果
<ul>
<li>香蕉</li>
<li>蘋果</li>
<li>梨</li>
</ul>
</li>
<li>蔬菜
<ul>
<li>白菜</li>
<li>油菜</li>
<li>捲心菜</li>
</ul>
</li>
</ul>
</body>
</html>
上述代碼表示引用了名稱爲”food”的元素下所有<li>
標籤內容都會被加入紅色的邊框
包含選擇器/後代選擇器
即加入空格
,用於選擇指定標籤元素下的後輩元素
請注意這個選擇器與子選擇器的區別,子選擇器(child selector)僅是指它的直接後代,或者你可以理解爲作用於子元素的第一代後代。而後代選擇器是作用於所有子後代元素。後代選擇器通過空格來進行選擇,而子選擇器是通過“>”進行選擇。
總結:>作用於元素的第一代後代,空格作用於元素的所有後代。
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>後代選擇器</title>
<style type="text/css">
.setRed span{
color:red;
}
.food>li{
border:1px solid red;/*添加邊框樣式(粗細爲1px, 顏色爲紅色的實線)*/
}
</style>
</head>
<body>
<p class="setRed">三年級時,我還是一個<span>HTML</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>
</body>
</html>
通用選擇器
通用選擇器是功能最強大的選擇器,它使用一個*
號指定,它的作用是匹配html中所有標籤元素
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>* 選擇符</title>
<style type="text/css">
* {color:red;font-size:20px;}
</style>
</head>
<body>
<h1>HTML</h1>
<p>你別說,HTML還真他孃的有點意思</p>
<p>哎喲,那可不是嘛</p>
</body>
</html>
上面代碼中所有文字都會變爲紅色、20px
僞類選擇器
它允許給html不存在的標籤(標籤的某種狀態)設置樣式,比如說我們給html中一個標籤元素的鼠標滑過的狀態來設置字體顏色:
a:hover{color:red;}
上面一行代碼就是爲 <a>
標籤鼠標滑過的狀態設置字體顏色變紅。這樣就會使第一段文字內容中的“膽小如鼠”文字加入鼠標滑過字體顏色變爲紅色特效。
關於僞類選擇符,到目前爲止,可以兼容所有瀏鑑器的“僞類選擇符”就是 a 標籤上使用 :hover 了(其實僞類選擇符還有很多,尤其是 css3 中,但是因爲不能兼容所有瀏覽器,本教程只是講了這一種最常用的)。其實 :hover 可以放在任意的標籤上,比如說 p:hover,但是它們的兼容性也是很不好的,所以現在比較常用的還是 a:hover 的組合。
分組選擇符
當你想爲html中多個標籤元素設置同一個樣式時,可以使用分組選擇符,
,如下代碼爲<h1>
、<span>
標籤同時設置字體顏色爲紅色:
h1,span{color:red;}
它相當於下面兩行代碼:
h1{color:red;}
span{color:red;}