在蓝色 div 中添加内容时,我试图使绿色 div 的高度变得流畅,红色 div 可以正常工作,但绿色 div 不能。
所以我希望在向蓝色 div 添加内容时,绿色 div 与红色 div 一样流畅。这是代码http://jsbin.com/ivobav/1/edit
在蓝色 div 中添加内容时,我试图使绿色 div 的高度变得流畅,红色 div 可以正常工作,但绿色 div 不能。
所以我希望在向蓝色 div 添加内容时,绿色 div 与红色 div 一样流畅。这是代码http://jsbin.com/ivobav/1/edit
好吧,您在这里有很多事情要做。首先,如果您想要绿色 div 上的流体高度,您需要height: 90%
从 CSS 中删除。你会注意到这会使你的绿色 div 消失(因为它没有相对定位的内容)。
如果你在绿色的 div 中输入一些东西,你会注意到它在增长。现在,我假设您希望红色 div 嵌套在绿色 div 内。为此,您需要删除红色 div 上的绝对定位。
如果你这样做,红色的 div 现在就会消失。那是因为蓝色 div 漂浮在其中,这意味着它不会增长到容纳蓝色 div。所以只需添加overflow: auto;
到红色的 div 中,你就应该得到你想要的。
在此处查看结果:
发生这种情况是因为父母不会伸展以适应他们的浮动孩子。要解决此问题,您可以:
<div style="clear:both"></div>
作为最后一个元素编辑:有关更详尽的解释,请查看http://www.quirksmode.org/css/clearing.html。迈克的回答是最好的方法,但不幸的是,它并非在所有情况下都有效。请注意,虽然这似乎是人们试图提出解决方案的问题,但它实际上并不是一个错误,而是规范 - 提示有人引入一些新的标准 CSS 属性以使元素拉伸以适应其浮动。 .