html - 上面DIV动态改变高度时DIV填充剩余高度

标签 html css height

当上面的 DIV (D1) 动态改变其大小时,是否有一个 CSS 解决方案可以让一个 DIV (D2) 填充剩余的父元素高度?

|-------------------|    |-------------------|    |-------------------|
| some content   D1 |    | some content   D1 |    | some content   D1 |
| +                 |    | more content      |    | more content      |
|-------------------|    | +                 |    | even more         |
|                D2 |    |-------------------|    | +                 |
|                   |    |                D2 |    |-------------------|
|                   |    |                   |    |                D2 |
|                   |    |                   |    |                   |
|                   |    |                   |    |                   |
|                   |    |                   |    |                   |
|-------------------|    |-------------------|    |-------------------|

D1 还有一个 max-heightoverflow: scroll

在此jsFiddle让黄色 (d2) 填充其余部分,无论 d1 的动态内容是什么,而不使用 javascript。

我看过几个问题,但没有一个处理上部 DIV (D1) 的动态高度变化

我无法使用 Javascript 解决方案。 TABLE 也可以代替 DIV。

最佳答案

检查下面的更新答案。

构造成这样

 div class=main  {
     div class=d1 {
          something 
          more stuff
          even more stuff
          }
     div class=d2{
            something
           }

}

样式:

div main { 
      width 200 px; for example
      }
d1, d2 { 
      width 100%,
      and float:left
      }

现在通过这样做,当 d1 更改时 d2 自动下降,不要给任何 DIV height

更新:使用 Flexbox 属性

.main {
  width: 500px;
  height: 160px;
  background: grey;
  border: 1px solid #333;
  display: flex;
  flex-direction: column;
}
.d1 {
  background: lime;
}
.d2 {
  background: yellow;
  height: 100%;
}
.d1,
.d2 {
  width: 100%;
}
<div class="main">
  <div class="d1">
    d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1 d1
  </div>
  <div class="d2">
    d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2 d2
  </div>
</div>

现在 D1 中有多少内容并不重要,D2 将占据 main div 的整个高度。

关于html - 上面DIV动态改变高度时DIV填充剩余高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17707926/

相关文章:

javascript - Chrome 上的 iframe 高度问题

ios - UIWebView 未填充 UITableView 单元格

html - "display: table-cell"子项的 100% 高度

php - 检查对服务器的请求是否由 ionic 应用程序发出

javascript - 本地存储未定义

javascript - 清除 : both for divs => 1050px doesn't work

javascript - 是否可以将 “twist & squeeze” 转换应用于整个 HTML 文档?

javascript - 图像 slider : maintaining equal height for all images while keeping slider responsive

javascript - 如何向前动画,等待 x 秒,向后动画,然后删除类?

css - YouTube iframe 背景中的响应高度