CSS 分組 和 巢狀 選擇器
選擇器分組
假設希望 h2 元素和段落都有灰色。要達到這個目的,最容易的做法是使用以下宣告:
h2, p {color:gray;}
將h2 和p 選擇器放在規則左邊,再用逗號分隔,就定義了一個規則。其右邊的樣式(color:gray;)將會套用到這兩個選擇器所引用的元素。逗號告訴瀏覽器,規則中包含兩個不同的選擇器。如果沒有這個逗號,那麼規則的意思將會完全不同。請參閱後代選擇器。
可以將任意多個選擇器分組在一起,對此沒有任何限制。
例如,如果您想把很多元素顯示為灰色,可以使用類似如下的規則:
body, h2, p, table, th, td, pre, strong, em {color:gray;}
提示:透過分組,創作者可以將某些類型的樣式「壓縮」在一起,這樣就可以得到更簡潔的樣式表。
以下的兩組規則能得到相同的結果,不過可以很清楚地看出哪一個寫起來比較容易:
/* no grouping */
h1 {color:blue;} h2 {color:blue;} h3 {color:blue;} h4 {color:blue;} h5 {color:blue;} h6 {color:blue;}
# /* grouping */
h1, h2, h3, h4, h5, h6 {color:blue;}
實例:
############################################################# #
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>实例</title>
<style type="text/css">
h1, h2, h3, h4, h5, p{
color:purple;
font-size:15px;
}
h2.special, .special, #one{
text-decoration:underline;
}
</style>
</head>
<body>
<h1>集体声明h1</h1>
<h2 class="special">集体声明h2</h2>
<h3>集体声明h3</h3>
<h4>集体声明h4</h4>
<h5>集体声明h5</h5>
<p>集体声明p1</p>
<p class="special">集体声明p2</p>
<p id="one">集体声明p3</p>
</body>
</html>#########巢狀選擇器###################使用規則小結:#########1、id嵌套class #myid.myclass: <p id="sp" class="myclass"></p>。
2、一個元素標籤使用多個class。 .important.warning <p class="important warning">注意不要有空格 。有空格表示分別適用於兩個class。
3、id標籤內的class元素。 #myid .myclass <div id="myid"><p class="myclass"></p></div>
4、元素標籤下的class。 p .myclass <p><span class="myclass"></span></p>
4、元素標籤下的id。 p #myid<p><span id="myid"></span></p>
5、class下的元素標籤。 .myclass span <p class="myclass"><span>dd</span></p>
6、id標籤內的id標籤#myid2 <div id="myid" ><div id="myid2"></div></div>。 id的用法和元素標籤類似。
7、.myclass1 .myclass2是表示兩個class使用同一個樣式,而不是巢狀。 class也能嵌套class。但若兩個.myclass之間沒有空格表示同時擁有這兩個class
8、元素標籤嵌套元素標籤p span <p><span></span></p>
實例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>实例</title>
<style type="text/css">
#top {
background-color: #ccc;
padding: 1em
}
#top h1 {
color: #ff0;
}
#top p {
color: red;
font-weight: bold;
}
</style>
</head>
<body>
<div id="top">
<h1>Chocolate curry</h1>
<p>This is my recipe for making curry purely with chocolate</p>
<p>Mmm mm mmmmm</p>
</div>
</body>
</html>
