CSS:包含div的div的高度

时间:2017-04-18 08:41:48

标签: html css css3

我有一个非常简单的div,包含一些左浮动div:

<div id="group1" style="padding: 10px">
    <div style="width: 180px; float: left">...</div>
    <div style="width: 180px; float: left">...</div>
    <div style="width: 180px; float: left">...</div>
    <div style="width: 180px; float: left">...</div>
</div>

现在我有一些关于group1高度的问题。基本上填充底部不起作用,因为group1的高度不是动态的。在开发工具中它显示总是21px。根据浏览器窗口的大小,内部div需要更多空间。我尝试了一些高度组合:自动和最小高度,但没有任何效果。

我是否真的必须根据浏览器窗口大小计算高度?应该有更方便的东西!

非常感谢任何帮助!感谢

5 个答案:

答案 0 :(得分:2)

&#13;
&#13;
filename
&#13;
&#13;
&#13;

答案 1 :(得分:2)

当一个元素使用属性float它不会影响父级的大小时,它只会浮动在那里,即使内联元素确实会影响父级。

因此,无论何时使用此类div,都必须清除浮动上下文。

有几种方法可以实现这一目标:

  • 在父
  • 中浮动元素后,将div与clear: both;一起使用
  • overflow: hidden;添加到父元素
  • float本身添加到父级,但这可能会导致更高级别元素的高度出现问题。

答案 2 :(得分:1)

您也可以使用:

<div id="group1" style="padding: 10px; width:100%; display:table;">
  <div style="width: 180px; float: left">hello</div>
  <div style="width: 180px; float: left">hello</div>
  <div style="width: 180px; float: left">hello</div>
  <div style="width: 180px; float: left">hello</div>
</div>

答案 3 :(得分:0)

我已相应更改了您的代码并添加了一些必需的属性,请参阅以下代码段。

 <div id="group1" style="padding: 10px; border:1px solid; overflow:hidden;">
       <div style="width: 180px; border:1px solid; float: left;">...</div>
       <div style="width: 180px; border:1px solid; float: left;">...</div>
       <div style="width: 180px; border:1px solid; float: left;">...</div>
       <div style="width: 180px; border:1px solid; float: left;">...</div>
    </div>

答案 4 :(得分:0)

问题在于浮动内部元素。 一个解决方案是@LokeshGupta发布的内容。 但另一个,如果你不想浮动父,就是使用clear block:

<div id="group1" style="padding: 10px">
    <div style="width: 180px; float: left">...</div>
    <div style="width: 180px; float: left">...</div>
    <div style="width: 180px; float: left">...</div>
    <div style="width: 180px; float: left">...</div>
    <div style="clear: both;"></div>
</div>