css 中宽高为什么没有继承?

html-css016

css 中宽高为什么没有继承?,第1张

只有块元素才可以默认“继承”其父元素的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