3 CSS 進階文法

來源:互聯網
上載者:User
選取器的分組

你可以對選取器進行分組,這樣,被分組的選取器就可以分享相同的聲明。用逗號將需要分組的選取器分開。在下面的例子中,我們對所有的標題元素進行了分組。所有的標題元素都是綠色的。

h1,h2,h2,h3,h5,h6 {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;}p  {font-family: Times, "Times New Roman", serif;}
相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.