CSS教程:理解繼承屬性及應(yīng)用
互聯(lián)網(wǎng) 發(fā)布時(shí)間:2008-10-17 19:24:29 作者:佚名
我要評(píng)論

4.5繼承
在本書的[3.3.2繼承與層疊]一節(jié)曾經(jīng)簡(jiǎn)要介紹過繼承:(X)HTML元素可以從其父元素那里繼承部分CSS屬性,即使當(dāng)前元素并沒有定義該屬性。
4.5.1值的繼承
繼承也是基于文檔樹的,文檔樹中元素的某些屬性可以被其子元素繼承,每一個(gè)CSS屬性都定義了它能否被繼承。例
4.5繼承
在本書的[3.3.2繼承與層疊]一節(jié)曾經(jīng)簡(jiǎn)要介紹過繼承:(X)HTML元素可以從其父元素那里繼承部分CSS屬性,即使當(dāng)前元素并沒有定義該屬性。
4.5.1值的繼承
繼承也是基于文檔樹的,文檔樹中元素的某些屬性可以被其子元素繼承,每一個(gè)CSS屬性都定義了它能否被繼承。例如有下列代碼,其在瀏覽器內(nèi)顯示如圖4-29所示。
p{color:green;}
<p>文檔樹中一元素的<strong>某些值</strong>可以被其子元素繼承。</p>

圖4-29值的繼承
要設(shè)定文檔的某些缺省樣式屬性,可以在文檔樹的根上設(shè)定該屬性,如果這個(gè)屬性可以繼承,則其后代元素將繼承這個(gè)屬性,例如color、font-size等屬性。在(X)HTML中,<html>或<body>元素可以實(shí)現(xiàn)這一功能。例如:
body{color:black;}
由于color屬性是可繼承的,所有<body>元素的后代都繼承顏色值為“black”。
指定的百分比值不被繼承,但是計(jì)算值可以被繼承。例如:
body{font-size:12px;}
h1{font-size:120%}
<body>
<h1>標(biāo)題1的<em>文字</em>會(huì)大一些</h1>
<p>段落的文字繼承body的定義</p>
</body>
<h1>元素的font-size屬性的計(jì)算值為“14.4px”(其父元素值12px的120%)。由于“font-size”的 計(jì)算值被繼承,<em>元素也繼承“14.4px”的計(jì)算值。但是由于1個(gè)像素(1px)是電腦最小的顯示單位,不可能顯示“0.4px”, 所以<h1>和<em>元素“font-size”的實(shí)際值是“14px”。
4.5.2“inherit”值
每一個(gè)屬性可以指定值為“inherit”,即:對(duì)于給定的元素,該屬性和它父元素相對(duì)屬性的計(jì)算值取一樣的值。繼承值通常只用作后備值,它可以通過顯式地指定“inherit”而得到加強(qiáng),例如:
p{font-size:inherit;}
4.5.3繼承的局限性
繼承雖然減少了重復(fù)定義的麻煩,但是,有些屬性是不能繼承的,例如border(邊框)、margin(邊距)、padding(補(bǔ)白)和背景等。
這樣設(shè)定是有道理的,例如,為一個(gè)<div>設(shè)定了邊框,如果此屬性也繼承的話,那么在這個(gè)<div>內(nèi)所有的元素都會(huì) 有邊框,這無疑會(huì)產(chǎn)生一個(gè)讓人眼花繚亂的結(jié)果。同樣的,影響元素位置的屬性,例如margin(邊距)和padding(補(bǔ)白),也不會(huì)被繼承。
同時(shí),瀏覽器的缺省樣式也在影響著繼承的結(jié)果。例如:
body{font-size:12px;}
<h2>2級(jí)標(biāo)題的文字不是12px。</h2>
這是因?yàn)闉g覽器的缺省樣式設(shè)定了<h2>的CSS規(guī)則。
同時(shí),有些老版本的瀏覽器可能對(duì)繼承支持的不太好,例如某些瀏覽器當(dāng)遇到<table>的時(shí)候,就會(huì)丟失所有的繼承的屬性,例如如下代碼,在IE5.5中顯示如圖4-30所示。
body{font-size:12px;}
<p>段落的文字繼承body的定義</p>
<table>
<tr>
<td>單元格</td>
<td>單元格</td>
</tr>
</table>

圖4-30IE5.5中表格沒有繼承<body>的屬性
因此,如果要照顧到這些老版本的瀏覽器,則可能需要如下定義:
body,table,th,td{……}
相關(guān)文章
- 你對(duì)CSS層疊和繼承的概念和用法你是否熟悉,這里和大家分享一下,文檔中的一個(gè)元素可能同時(shí)被多個(gè)CSS選擇器選中,每個(gè)選擇器都有一些CSS規(guī)則,這就是層疊,而所謂繼承,就2011-01-27
- 我們知道文檔中的一個(gè)元素可能同時(shí)被多個(gè)css選擇器選中,每個(gè)選擇器都有一些css規(guī)則,這就是層疊。所謂繼承,就是父元素的規(guī)則也會(huì)適用于子元素。2010-03-14
- 下面小編就為大家?guī)硪黄狢SS默認(rèn)可繼承樣式詳解。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-06
- 這篇文章主要介紹了CSS中的繼承,是CSS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-07-16
CSS教程:學(xué)習(xí)CSS的繼承性-CSS教程-網(wǎng)頁制作-網(wǎng)頁教學(xué)網(wǎng)
所謂CSS的繼承是指被包在內(nèi)部的標(biāo)簽將擁有外部標(biāo)簽的樣式性質(zhì)。繼承特性最典型的應(yīng)用通常發(fā)揮在整個(gè)網(wǎng)頁的樣式預(yù)設(shè),需要指定為其它樣式的部份設(shè)定在個(gè)別元素里即可。這項(xiàng)2008-10-17CSS樣式表中繼承關(guān)系的空格與不空格-CSS教程-網(wǎng)頁制作-網(wǎng)頁教學(xué)網(wǎng)
這可能是一個(gè)非常簡(jiǎn)單的問題,但是今天花一點(diǎn)點(diǎn)時(shí)間把這個(gè)簡(jiǎn)單的問題在說清晰一點(diǎn),相信大家對(duì)CSS的學(xué)習(xí)和認(rèn)識(shí)會(huì)很有幫助,強(qiáng)化一些概念的東西,對(duì)以后的工作效率的2008-10-17CSS教程:水平對(duì)齊(text-align)-CSS教程-網(wǎng)頁制作-網(wǎng)頁教學(xué)網(wǎng)
水平對(duì)齊(text-align),用以設(shè)定元素內(nèi)文本的水平對(duì)齊方式。 1.語法 text-align具體參數(shù)如下: 語法:text-align:left|right|center|justify 說明:2008-10-17CSS教程:line-height屬性的繼承-CSS教程-網(wǎng)頁制作-網(wǎng)頁教學(xué)網(wǎng)
原文:http://www.planabc.net/2008/07/25/unitless-line-heights/ 淘寶商城的detail 頁面“產(chǎn)品詳情”部分是商家自定義區(qū)塊,曾出現(xiàn)這樣一個(gè)問題: &2008-10-17CSS教程:行高line-height屬性(2)-CSS教程-網(wǎng)頁制作-網(wǎng)頁教學(xué)網(wǎng)
相關(guān)文章:CSS教程:行高line-height屬性(1) 7.3.3行高的計(jì)算與繼承 以em、ex和百分比為單位的行高,其基數(shù)是元素本身的字體尺寸。例如有代碼如下: <pstyle=&quo2008-10-17- 下面小編就為大家?guī)硪黄钊肜斫釩SS定位與層疊。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考2016-04-15