只有块元素才可以默认“继承”其父元素的width.
浮动元素和定位元素也是不默认(不自动)“继承”其父元素宽度的。
当符合css默认“继承”的情况下(子元素必须是块级元素且无定位或浮动),是不需要写width属性,就可以默认“继承”的。
inherit规定应该从父元素继承
width
属性的值。也就是使用和上一级父元素同样的width。其他的规则也是如此,inherit就表示继承父元素的值。
注释:任何版本的
Internet
Explorer
(包括
IE8)都不支持属性值
"inherit"。width:100%和width:inherit,除去兼容性,大多数情况下,两者作用是一样的,甚至都很难想出不一样的理由。
你这个嵌套关系有点乱,如果你第二个div不想要的话为什么不直接放在#div1 #div2外面。
按照css的继承关系,#div2只能继承width:200px的属性。
如果哈,如果你这外面已经没有其他的元素了,你直接给它加一个style='width:90%'好了。
我建议你换一个写法
<div id="div1" style="width:90%"><div style="width:200pxposition: relative"></div>
<div id="div2" style="position: absolutetop:0left:0"></div>
</div>
这样#div2就可以继承#div1的属性并且不会被第二个div干扰了。
关于css的嵌套关系
http://jingyan.baidu.com/article/647f0115eb4cb17f2148a8a7.html