1. 程式人生 > >CSS選擇器的宣告和巢狀

CSS選擇器的宣告和巢狀

前言

  在利用CSS選擇器控制HTML標記時,除了每個選擇器可以一次宣告多個,選擇器本身也可以同時宣告多個。

集體宣告

  在宣告各種CSS選擇器時,如果某些選擇器的風格是完全相同或部分相同,這時便可以利用集體宣告的方法,將風格相同的CSS選擇器同時宣告。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head
>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>無標題文件</title> <style> h1,h2,h3{ color:#CC3333; font-size:15px; } </style> </head> <body> <h1>集體宣告1</h1> <h2>集體宣告2</h2> <h3
>
集體宣告3</h3> </body> </html>

  如果希望頁面中所有的標記都使用同一種CSS樣式,但又不希望逐個來加入集體宣告列表,這時可以利用全域性宣告符號*來實現

選擇器的巢狀

  在CSS選擇器中,還可以通過巢狀的方式,對特殊位置的HTML標記進行宣告,例如p標記之間包含b標記,就可以使用巢狀選擇器進行相應的控制。

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/>
<title>無標題文件</title> <style> p b{ color:#CC3333; text-decoration:underline; } </style> </head> <body> <p>質勝文則<b></b>,文勝質則<b></b></p> 巢狀之外的<b>標記</b>不生效 </body> </html>

效果圖

這裡寫圖片描述

  巢狀選擇器的使用非常廣泛,不只是巢狀的標記本身,類別選擇器和ID選擇器都可以進行巢狀。
.special i{ color:red;}  /*使用了屬性special的標記裡面包含的i標記*/
#one li{ padding-left:5px;}   /*ID為one的標記裡面包含的li標記*/
td.top .top1 strong { font-size:16px;}  /*多層巢狀,同樣實用*/

  其中,第三個表示使用了.top類別的td標記中包含的.top1類別的標記,其中包含了strong標記所宣告的風格樣式,有點繞,還是看一個程式碼示例。

<td class="top">
    <p class="top1">
        其他內容<strong>Css控制的樣式</strong>其他內容
    </p>
</td>

總結

  選擇器的巢狀在CSS的編寫中可以大大減少對class和id的宣告。因此在構建頁面HTML框架時通常只給外層標記定義class或者id,內層標記能通過巢狀表示的方式找到,不需要再定義新的class或者專用id。只有多個相同子標記要單獨設定時才需要給其定義新的class或者專用id。