0

在蓝色 div 中添加内容时,我试图使绿色 div 的高度变得流畅,红色 div 可以正常工作,但绿色 div 不能。

所以我希望在向蓝色 div 添加内容时,绿色 div 与红色 div 一样流畅。这是代码http://jsbin.com/ivobav/1/edit

4

2 回答 2

0

好吧,您在这里有很多事情要做。首先,如果您想要绿色 div 上的流体高度,您需要height: 90%从 CSS 中删除。你会注意到这会使你的绿色 div 消失(因为它没有相对定位的内容)。

如果你在绿色的 div 中输入一些东西,你会注意到它在增长。现在,我假设您希望红色 div 嵌套在绿色 div 内。为此,您需要删除红色 div 上的绝对定位。

如果你这样做,红色的 div 现在就会消失。那是因为蓝色 div 漂浮在其中,这意味着它不会增长到容纳蓝色 div。所以只需添加overflow: auto;到红色的 div 中,你就应该得到你想要的。

在此处查看结果:

http://jsbin.com/ivobav/5/edit

于 2013-02-21T01:14:57.357 回答
0

发生这种情况是因为父母不会伸展以适应他们的浮动孩子。要解决此问题,您可以:

  • 不使用花车
  • 在父容器中插入等价的<div style="clear:both"></div>作为最后一个元素
  • 在父级内部有其他非浮动内容

编辑:有关更详尽的解释,请查看http://www.quirksmode.org/css/clearing.html。迈克的回答是最好的方法,但不幸的是,它并非在所有情况下都有效。请注意,虽然这似乎是人们试图提出解决方案的问题,但它实际上并不是一个错误,而是规范 - 提示有人引入一些新的标准 CSS 属性以使元素拉伸以适应其浮动。 .

于 2013-02-21T01:17:05.403 回答