close

css-banner.jpg

選擇器的分組

你可以對選擇器進行分組,這樣,被分組的選擇器就可以分享相同的聲明。

用逗號將需要分組的選擇器分開。

在下面的例子中,我們對所有的標題元素進行了分組。

所有的標題元素都是綠色的。

<code>h1,h2,h3,h4,h5,h6</code> {
  color: green;
  }
	

繼承及其問題

根據CSS,子元素從父元素繼承屬性。但是它並不總是按此方式工作。看看下面這條規則:

body {
     font-family: Verdana, sans-serif;
     }
	

根據上面這條規則,站點的body 元素將使用Verdana 字體(假如訪問者的系統中存在該字體的話)。

通過CSS 繼承,子元素將繼承最高級元素(在本例中是body)所擁有的屬性(這些子元素諸如p, td, ul, ol, ul, li, dl, dt,和dd)。

不需要另外的規則,所有body 的子元素都應該顯示Verdana 字體,子元素的子元素也一樣。

並且在大部分的現代瀏覽器中,也確實是這樣的。

但是在那個瀏覽器大戰的血腥年代裡,這種情況就未必會發生,那時候對標準的支持並不是企業的優先選擇。

比方說,Netscape 4 就不支持繼承,它不僅忽略繼承,而且也忽略應用於body 元素的規則。

IE/Windows 直到IE6 還存在相關的問題,在表格內的字體樣式會被忽略。我們又該如何是好呢?


友善地對待Netscape 4

幸運地是,你可以通過使用我們稱為"Be Kind to Netscape 4" 的冗餘法則來處理舊式瀏覽器無法理解繼承的問題。

body {
     font-family: Verdana, sans-serif;
     }
p, td, ul, ol, li, dl, dt, dd {
     font-family: Verdana, sans-serif;
     }
	

4.0 瀏覽器無法理解繼承,不過他們可以理解組選擇器。

這麼做雖然會浪費一些用戶的網路,但是如果需要對Netscape 4 用戶進行支持,就不得不這麼做。


繼承是一個詛咒嗎?

如果你不希望"Verdana, sans-serif" 字體被所有的子元素繼承,又該怎麼做呢?

比方說,你希望段落的字體是Times。

可以創建一個針對p 的特殊規則,這樣它就會擺脫父元素的規則:

body {
     font-family: Verdana, sans-serif;
     }
td, ul, ol, ul, li, dl, dt, dd {
     font-family: Verdana, sans-serif;
     }
<code>p</code>   {
     font-family: Times, "Times New Roman", serif;
     }
	
arrow
arrow

    設計密碼工作室 發表在 痞客邦 留言(0) 人氣()