CSS中屬性繼承小解

來源:互聯網
上載者:User

標籤:tom   direct   otto   tab   繼承   targe   round   image   ora   

繼承:html元素可以從父元素那裡繼承一部分css屬性,即使當前元素沒有定義該屬性。 


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。 
內嵌元素可繼承: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屬性都定義了它能否被繼承。要設定文檔的某些預設樣式屬性,可以在文檔樹的根上設定該屬性,如果這個屬性可以繼承,則其後代元素將繼承這個屬性,例如color、font-size等屬性。 


3.“inherit(繼承)”值 


每一個屬性可以指定值為“inherit”,即:對於給定的元素,該屬性和它父元素相對屬性的計算值取一樣的值。繼承值通常只用作後備值,它可以通過顯式地指定“inherit”而得到加強,例如: 


p { font-size: inherit; } 


4.繼承的局限性 
  
繼承雖然減少了重複定義的麻煩,但是,有些屬性是不能繼承的,例如border(邊框)、margin(邊距)、padding(補白)和背景等。 
這樣設定是有道理的,例如,為一個<div>設定了邊框,如果此屬性也繼承的話,那麼在這個<div>內所有的元素都會有邊框,這無疑會產生一個讓人眼花繚亂的結果。同樣的,影響元素位置的屬性,例如margin(邊距)和padding(補白),也不會被繼承。 


同時,瀏覽器的預設樣式也在影響著繼承的結果。例如: 
body { font-size: 12px; } 
<h2>2級標題的文字不是12px。// </h2> H2中文字將是標題2樣式的文字而非12px大小的文字。 


這是因為瀏覽器的預設樣式設定了<h2>的CSS規則。 
同時,有些老版本的瀏覽器可能對繼承支援的不太好,例如某些瀏覽器當遇到<table>的時候,就會丟失所有的繼承的屬性, 
  
5.能否取消 
  
css屬性一旦繼承了不能被取消,只能重新定義樣式。 
  
6.案例 
  
父元素position:relative 子項目:position:absolute 父元素寬度固定,子項目會繼承父元素的寬度(對於二級導航很重要,當隱藏的那個導覽列寬度不固定,或者寬度大於父元素時,此時一般只能重新設定子項目的寬度) 
走岔了,就退回來;走得急,就緩一些。時不時停下來想想,望一望,琢磨琢磨,再繼續走。 

原文:http://www.cnblogs.com/shishixiaozi/p/5730407.html

CSS中屬性繼承小解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.