只有块元素才可以默认“继承”其父元素的width.
浮动元素和定位元素也是不默认(不自动)“继承”其父元素宽度的。
当符合css默认“继承”的情况下(子元素必须是块级元素且无定位或浮动),是不需要写width属性,就可以默认“继承”的。
你这个嵌套关系有点乱,如果你第二个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
1、新建一个html文件,命名为test.html。
2、在test.html文件内,使用table标签创建一个表格,并使用border设置表格边框为1px。
3、在test.html文件内,在table标签内,使用tr、td标签设置为两行两列表格。
4、在css标签内,设置类名为t1的样式,使用width属性设置宽度为250px,使用height属性设置高度为200px。
5、在css标签内,设置类名为t2的样式,使用font-size属性设置文字大小为20px,使用color属性设置文字颜色为红色,使用text-align属性设置文字居中。
6、在test.html文件内,在table标签内添加class属性,把class属性值设置为“t1 t2”,从而实现给表格添加两个class样式。