您好,登錄后才能下訂單哦!
這篇文章主要介紹了css中屬性值繼承的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
繼承:html元素可以從父元素那里繼承一部分css屬性,即使當(dāng)前元素沒有定義該屬性。
1.css可以和不可以繼承的屬性
不可繼承的:display、margin、border、padding、background、height、min-height、max-height、width、min-width、max-width、overflow、position、left、right、top、bottom、z-index、float、clear、table-layout、vertical-align、page-break-after、page-bread-before和unicode-bidi。
所有元素可繼承:visibility和cursor。
內(nèi)聯(lián)元素可繼承:letter-spacing、word-spacing、white-space、line-height、color、font、font-family、font-size、font-style、font-variant、font-weight、text-decoration、text-transform、direction。
終端塊狀元素可繼承:text-indent和text-align。
列表元素可繼承:list-style、list-style-type、list-style-position、list-style-image。
表格元素可繼承:border-collapse。
2.值的繼承
繼承也是基于文檔樹的,文檔樹中元素的某些屬性可以被其子元素繼承,每一個CSS屬性都定義了它能否被繼承。要設(shè)定文檔的某些缺省樣式屬性,可以在文檔樹的根上設(shè)定該屬性,如果這個屬性可以繼承,則其后代元素將繼承這個屬性,例如color、font-size等屬性。
3.“inherit(繼承)”值
每一個屬性可以指定值為“inherit”,即:對于給定的元素,該屬性和它父元素相對屬性的計算值取一樣的值。繼承值通常只用作后備值,它可以通過顯式地指定“inherit”而得到加強,例如:
p { font-size: inherit; }
4.繼承的局限性
繼承雖然減少了重復(fù)定義的麻煩,但是,有些屬性是不能繼承的,例如border(邊框)、margin(邊距)、padding(補白)和背景等。
這樣設(shè)定是有道理的,例如,為一個<div>設(shè)定了邊框,如果此屬性也繼承的話,那么在這個<div>內(nèi)所有的元素都會有邊框,這無疑會產(chǎn)生一個讓人眼花繚亂的結(jié)果。同樣的,影響元素位置的屬性,例如margin(邊距)和padding(補白),也不會被繼承。
同時,瀏覽器的缺省樣式也在影響著繼承的結(jié)果。例如:
body { font-size: 12px; }
<h3>2級標(biāo)題的文字不是12px。
// </h3> H2中文字將是標(biāo)題2樣式的文字而非12px大小的文字。
這是因為瀏覽器的缺省樣式設(shè)定了<h3>的CSS規(guī)則。
同時,有些老版本的瀏覽器可能對繼承支持的不太好,例如某些瀏覽器當(dāng)遇到<table>的時候,就會丟失所有的繼承的屬性
5.能否取消
css屬性一旦繼承了不能被取消,只能重新定義樣式。
6.案例
父元素position:relative 子元素:position:absolute 父元素寬度固定,子元素會繼承父元素的寬度(對于二級導(dǎo)航很重要,當(dāng)隱藏的那個導(dǎo)航欄寬度不固定,或者寬度大于父元素時,此時一般只能重新設(shè)置子元素的寬度)
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“css中屬性值繼承的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。