您好,登錄后才能下訂單哦!
怎么在CSS中利用選擇器分組?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
選擇器分組
假設希望 h3 元素和段落都有灰色。為達到這個目的,最容易的做法是使用以下聲明:
h3, p {color:gray;}
將 h3 和 p 選擇器放在規則左邊,然后用逗號分隔,就定義了一個規則。其右邊的樣式(color:gray;)將應用到這兩個選擇器所引用的元素。逗號告訴瀏覽器,規則中包含兩個不同的選擇器。如果沒有這個逗號,那么規則的含義將完全不同。參見后代選擇器。
可以將任意多個選擇器分組在一起,對此沒有任何限制。
例如,如果您想把很多元素顯示為灰色,可以使用類似如下的規則:
body, h3, p, table, th, td, pre, strong, em {color:gray;}
提示:通過分組,創作者可以將某些類型的樣式“壓縮”在一起,這樣就可以得到更簡潔的樣式表。
以下的兩組規則能得到同樣的結果,不過可以很清楚地看出哪一個寫起來更容易:
/* no grouping */ h2 {color:blue;} h3 {color:blue;} h4 {color:blue;} h5 {color:blue;} h6 {color:blue;} h7 {color:blue;} /* grouping */ h2, h3, h4, h5, h6, h7 {color:blue;}
分組提供了一些有意思的選擇。例如,下例中的所有規則分組都是等價的,每個組只是展示了對選擇器和聲明分組的不同方法:
/* group 1 */ h2 {color:silver; background:white;} h3 {color:silver; background:gray;} h4 {color:white; background:gray;} h5 {color:silver; background:white;} b {color:gray; background:white;} /* group 2 */ h2, h3, h5 {color:silver;} h3, h4 {background:gray;} h2, h5, b {background:white;} h4 {color:white;} b {color:gray;} /* group 3 */ h2, h5 {color:silver; background:white;} h3 {color:silver;} h4 {color:white;} h3, h4 {background:gray;} b {color:gray; background:white;}
通配符選擇器
CSS2 引入了一種新的簡單選擇器 - 通配選擇器(universal selector),顯示為一個星號(*)。該選擇器可以與任何元素匹配,就像是一個通配符。
例如,下面的規則可以使文檔中的每個元素都為紅色:
* {color:red;} <html> <head> <style type="text/css"> * {color:red;} </style> </head> <body> <h2>這是 heading 1</h2> <h3>這是 heading 2</h3> <h4>這是 heading 3</h4> <h5>這是 heading 4</h5> <p>這是一段<b>普通</b>的段落文本。</p> </body> </html>
這個聲明等價于列出了文檔中所有元素的一個分組選擇器。利用通配選擇器,只需敲一次鍵(僅一個星號)就能使文檔中所有元素的 color 屬性值指定為 red。
聲明分組
我們既可以對選擇器進行分組,也可以對聲明分組。
假設您希望所有 h2 元素都有紅色背景,并使用 28 像素高的 Verdana 字體顯示為藍色文本,可以寫以下樣式:
h2 {font: 28px Verdana;} h2 {color: blue;} h2 {background: red;}
但是上面這種做法的效率并不高。尤其是當我們為一個有多個樣式的元素創建這樣一個列表時會很麻煩。相反,我們可以將聲明分組在一起:
h2 {font: 28px Verdana; color: white; background: black;}
這與前面的 3 行樣式表的效果完全相同。
注意,對聲明分組,一定要在各個聲明的最后使用分號,這很重要。瀏覽器會忽略樣式表中的空白符。只要加了分號,就可以毫無顧忌地采用以下格式建立樣式:
h2 { font: 28px Verdana; color: blue; background: red; }
怎么樣,上面這種寫法的可讀性是不是更強。
不過,如果忽略了第二個分號,用戶代理就會把這個樣式表解釋如下:
h2 { font: 28px Verdana; color: blue background: red; }
因為 background 對 color 來說不是一個合法值,而且由于只能為 color 指定一個關鍵字,所以用戶代理會完全忽略這個 color 聲明(包括 background: black 部分)。這樣 h2 標題只會顯示為藍色,而沒有紅色背景,不過更有可能根本得不到藍色的 h2。相反,這些標題只會顯示為默認顏色(通常是黑色),而且根本沒有背景色。font: 28px Verdana 聲明仍能正常發揮作用,因為它確實正確地以一個分號結尾。
與選擇器分組一樣,聲明分組也是一種便利的方法,可以縮短樣式表,使之更清晰,也更易維護。
提示:在規則的最后一個聲明后也加上分號是一個好習慣。在向規則增加另一個聲明時,就不必擔心忘記再插入一個分號。
結合選擇器和聲明的分組
我們可以在一個規則中結合選擇器分組和聲明分組,就可以使用很少的語句定義相對復雜的樣式。
下面的規則為所有標題指定了一種復雜的樣式:
h2, h3, h4, h5, h6, h7 { color:gray; background: white; padding: 10px; border: 1px solid black; font-family: Verdana; } <html> <head> <style type="text/css"> h2, h3, h4, h5, h6, h7 { color:gray; background: white; padding: 10px; border: 1px solid black; font-family: Verdana; } </style> </head> <body> <h2>This is heading 1</h2> <h3>This is heading 2</h3> <h4>This is heading 3</h4> <h5>This is heading 4</h5> <h6>This is heading 5</h6> <h7>This is heading 6</h7> </body> </html>
結合選擇器和聲明的分組
我們可以在一個規則中結合選擇器分組和聲明分組,就可以使用很少的語句定義相對復雜的樣式。
下面的規則為所有標題指定了一種復雜的樣式:
h2, h3, h4, h5, h6, h7 { color:gray; background: white; padding: 10px; border: 1px solid black; font-family: Verdana; }
上面這條規則將所有標題的樣式定義為帶有白色背景的灰色文本,其內邊距是 10 像素,并帶有 1 像素的實心邊框,文本字體是 Verdana。
結合選擇器和聲明的分組
我們可以在一個規則中結合選擇器分組和聲明分組,就可以使用很少的語句定義相對復雜的樣式。
下面的規則為所有標題指定了一種復雜的樣式:
h2, h3, h4, h5, h6, h7 { color:gray; background: white; padding: 10px; border: 1px solid black; font-family: Verdana; }
看完上述內容,你們掌握怎么在CSS中利用選擇器分組的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。