2012-02-21 73 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