2012-02-21 68 views
38

我的理解是,width: '100%'可以讓對象的寬度與其父寬度相同,而width: inherit只有在明確指定父寬度時纔會這樣做。這種理解是否正確?100%與繼承

如果是這樣,它看起來當width: inherit工作,然後width: '100%'將始終工作,所以你可以隨時使用後者。那麼,編寫width: inherit的目的是什麼?它何時變得有用?

如果我的理解錯了,兩者有什麼區別?與height類似。

回答

44

見的jsfiddle http://jsfiddle.net/bt5nj/2/http://jsfiddle.net/bt5nj/3/

width:inherit繼承寬度由定義。

HTML:

<div id="parent"> 
<div id="child"></div> 
</div>​ 

CSS:

#parent 
{ 
    width:50%; 
    height:30px; 
} 
#child 
{ 
    width:inherit; 
    height:100%; 
    background-color:red; 
} 

這使得child寬度25%,但如果我width:100%重新定義它它將限定的child 50%的寬度。

+14

我明白了。因此,繼承複製文字表達式而不是值。 – sawa 2012-02-21 09:23:47

+0

@Chuck Norris - 爲什麼25%? ..孩子的內在固有總量的一半? – 2015-06-20 07:37:40

+2

@LeonelGurdian - 因爲父母的寬度是50%,並且我們爲孩子的寬度繼承了相同的50%。 50%的50%是總數的25%。 – 2015-06-20 09:41:50