萬盛學電腦網

 萬盛學電腦網 >> 網頁制作 >> DivCSS教程 >> 舉例詳解CSS中的繼承

舉例詳解CSS中的繼承

   CSS的繼承是由所使用的樣式屬性定義的。換句話說,當你查看CSS屬性backgruound-color,你會看到一欄「繼承性」,也許你幾乎沒有在意過它,但是它還是十分有用的。

  什麼是CSS繼承

  每一個元素都是文檔樹的一部分,除了最頂級的HTML元素,每個元素都有其對應的父級元素,每一個父級元素的CSS屬性值都可以被應用到它的子元素中去。

  舉個栗子,H1標簽包含著一個EM標簽:

2015716190527993.jpg (493×132)

  EM就是H1標簽的子元素,任何H1中繼承的CSS屬性值會自動在EM標簽中生效,比如:

  CSS Code復制內容到剪貼板

  h1{font-size: 120%;}

  由於font-size是默認繼承的CSS屬性,"很大的"字體也會和H1一樣,被放大到120%。

  如何使用CSS繼承

  最簡單的方法就是知道CSS所有屬性中那些是默認被繼承的,如果這個屬性被繼承,就會知道它會在元素所有子元素中生效。

  我們經常在非常頂級的元素上定義基礎樣式,比如BODY標簽,如果在body中設置字體,因為繼承,文檔中所有元素都會應用這個字體:

  CSS Code復制內容到剪貼板

  h1{font-size: 120%;}

  使用「inherit」值

  每個CSS屬性的值都包括inherit,屬性被定義這個值後,即使這個屬性不是默認繼承,也會應用父級元素這個CSS屬性的值,比如:

  CSS Code復制內容到剪貼板

  body { margin: 1em; }

  p { margin: inherit; }

  繼承使用計算值(Computed Values)

  計算值指的是這個值相對於網頁中其他值來定義,這個對於繼承屬性尤其重要。如果在body中定義font-size:1em,文檔中所有元素字體大小並不都是1em,這是因為像H1-H6這類元素的font-size的值是相對大小。H1默認是網頁中字體最大的元素,當設置body元素字體大小時,H1-H6會根據這個「平均」大小的字體計算實際的字體大小。

  再舉一個例子:

2015716190548517.jpg (655×148)

  按照之前所述,font-size是默認被繼承的CSS屬性,然而span字體的大小並不是p的80%,而是和p一樣大,正是因為繼承使用的是計算值,如果p的父級元素的字體大小為30px,p的字體大小計算值為24px,span繼承的則是24px,而不是80%。

  更多關於計算值可以閱讀CSS Computed Value。

  background被「繼承」

  查看backgruound屬性,會看到它的繼承性是no,也就是默認不被繼承的。但是浏覽器依舊默認「繼承」了這個屬性,比如寫這麼一段:

2015716190618439.jpg (619×149)

  “很大的”依舊有了黃色的背景,這是因為background屬性的初始值(initial value)是transparent(透明),所以看到的黃色背景其實是h1標簽的背景。

copyright © 萬盛學電腦網 all rights reserved