CSS繼承的概述

如何在Web文檔中使用CSS繼承

用CSS設計網站的一個重要部分是理解繼承的概念。

CSS繼承由所使用的屬性的樣式自動定義。 當您查找樣式屬性background-color時,您會看到標題為“繼承”的部分。 如果你像大多數網頁設計師一樣,你忽略了這個部分,但它確實起到了一定的作用。

什麼是CSS繼承?

HTML文檔中的每個元素都是樹的一部分,除了最初的元素之外的每個元素都有一個包含它的父元素。 如果屬性是可以繼承的屬性,則無論適用於該父元素的樣式都可以應用於其中包含的元素。

例如,下面的這個HTML代碼有一個H1標籤包含一個EM標籤:

這是一個 Big 標題

EM元素是H1元素的子元素,並且繼承的H1上的所有樣式也將傳遞到EM文本。 例如:

h1 {font-size:2em; }

由於font-size屬性是繼承的,所以“Big”(即EM標籤內包含的內容)的文本將與H1的其餘部分具有相同的大小。 這是因為它繼承了CSS屬性中設置的值。

如何使用CSS繼承

使用它的最簡單的方法是熟悉並且不繼承的CSS屬性 。 如果該屬性是繼承的,那麼您知道該值對於文檔中的每個子元素都將保持不變。

使用它的最好方法是在一個非常高級的元素上設置你的基本樣式,比如BODY。 如果您將font-family設置為body屬性,那麼由於繼承,整個文檔將保持相同的font-family。 這實際上會使更小的樣式表更易於管理,因為總體樣式更少。 例如:

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

使用繼承樣式值

每個CSS屬性都包含值“inherit”作為可能的選項。 這告訴Web瀏覽器,即使該屬性通常不會被繼承,它也應該具有與父項相同的值。 如果您設置了諸如未被繼承的保證金之類的樣式,則可以在後續屬性上使用繼承值來為它們提供與父級相同的保證金。 例如:

身體{margin:1em; } p {margin:inherit; }

繼承使用計算值

這對於使用長度的字體大小這樣的繼承很重要。 計算值是一個相對於網頁上其他值的值。

如果您在BODY元素上設置1em的字體大小,則整個頁面的大小不會全部為1em。 這是因為諸如標題(H1-H6)和其他元素 (某些瀏覽器計算表屬性的方式不同)等元素在Web瀏覽器中具有相對大小。 在沒有其他字體大小信息的情況下,Web瀏覽器將始終使H1標題成為頁面上最大的文本,然後是H2等。 當您將BODY元素設置為特定的字體大小時,則將其用作“平均”字體大小,並從中計算標題元素。

關於繼承和背景屬性的一個註記

列出的許多樣式沒有在W3C的CSS 2中繼承,但Web瀏覽器仍然繼承這些值。 例如,如果您編寫了以下HTML和CSS: