2013-01-07 97 views
1

該標準規定,不會繼承CSS屬性的top/right/bottom/left爲什麼繼承頂部/右/底部/左側的CSS屬性?

CSS 2.1:http://www.w3.org/TR/CSS2/visuren.html#position-props
CSS定位模塊:http://www.w3.org/TR/css3-positioning/#box-offsets-trbl

但是從我所看到的(我測試火狐,Chrome,IE10和Opera)的實現繼承這些特性。

HTML:

<div id="container"> 
    <div id="transition">Hello World</div> 
</div> 

CSS:

#container { 
    position: absolute; 
    left: 20px; 
    top: 20px; 
} 

#transition { 
    position: absolute; 
    left: inherit; 
    top: inherit; 
} 

這裏,#transition元件接收其父top/left值。

現場演示:http://t.co/aIRuHPAj

缺少什麼我在這裏?

回答

10

他們繼承topleft屬性,因爲你明確這樣做:

#transition { 
    /* ... */ 
    left: inherit; 
    top: inherit; 
} 

如果沒有這兩條線,這些屬性不會被繼承隱含(內嵌規範)。 Demo

+1

我的頭剛剛爆炸實現我的愚蠢':P' –

+0

無後顧之憂。我以前去過那裏。順便說一句,我希望'繼承'是一個更有價值的功能,它的行爲類似於LESS中的行爲。 –

相關問題