拉伸子div高度以填充具有动态高度的父级

Kha*_*led 85 html css css3

正如在下面的小提琴中可以看到的那样,我有两个divs,包含在父母中div,已经伸展到包含大div,我的目标是让这些孩子div的身高相等.

http://fiddle.jshell.net/y9bM4/

Tro*_*han 49

使用display: flex伸展你divS:

div#container {
    padding:20px;
    background:#F1F1F1;
    display: flex;
}

.content {
    width:150px;
    background:#ddd;
    padding:10px;
    margin-left: 10px;
}
Run Code Online (Sandbox Code Playgroud)

的jsfiddle


Mr_*_*een 46

解决方案是用于display: table-cell将这些元素内联而不是使用display: inline-blockfloat: left.

div#container {
  padding: 20px;
  background: #F1F1F1
}
.content {
  width: 150px;
  background: #ddd;
  padding: 10px;
  display: table-cell;
  vertical-align: top;
}
.text {
  font-family: 12px Tahoma, Geneva, sans-serif;
  color: #555;
}
Run Code Online (Sandbox Code Playgroud)
<div id="container">
  <div class="content">
    <h1>Title 1</h1>

    <div class="text">Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.
      <br>Sample Text. Sample Text. Sample Text.
      <br>Sample Text.
      <br>
    </div>
  </div>
  <div class="content">
    <h1>Title 2</h1>

    <div class="text">Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text. Sample Text.</div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

工作小提琴

  • 如果父元素是表格单元格,这不起作用。 (2认同)

Aya*_*yan 15

添加以下CSS:

对于父div:

style="display: flex;"
Run Code Online (Sandbox Code Playgroud)

对于儿童div:

style="align-items: stretch;"
Run Code Online (Sandbox Code Playgroud)

  • 这对我有用,但是对于拉伸元素内部的“display: grid”,我必须添加“height: 100%”参数。默认情况下,网格也包含动态高度。 (2认同)

Gel*_*o K 9

https://www.youtube.com/watch?v=jV8B24rSN5o

我认为你可以使用显示作为网格:

.parent { display: grid };
Run Code Online (Sandbox Code Playgroud)