html - 如何使用flexbox填充剩余高度?

标签 html css flexbox

html,
body {
  height: 100%;
}
.site-main {
  height: calc(100% - 72px);
  display: flex;
}
.site-main > div {
  min-width: 85%;
  height: 100%;
}
.site-main > aside {
  min-width: 15%;
  height: 100%;
  background-color: $darkest-blue-grey;
}
<header>
  <h1>Title</h1>
</header>
<div class="site-main">
  <div></div>
  <aside></aside>
</div>

我在 72px 的固定 height 处设置了 header

我已将 .site-main div宽度 设置为 85%

我已经给 .site-main aside 宽度 15%

我想要的是 .site-main div.site-main aside 并排放置,并且有 .site-main 填充 header 之后的剩余空白。

并让 .site-main div.site-main 放在一边 填充 .site-main 的高度。

如有任何帮助,我们将不胜感激!

最佳答案

您可以在 body 上使用 flex-direction: column,在 site-main 上使用 flex: 1

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
  padding: 0;
}
header {
  height: 75px;
}
.site-main {
  display: flex;
  flex: 1;
}
.site-main div {
  flex: 0 0 85%;
  background: lightblue;
}
aside {
  flex: 0 0 15%;
  background: lightgreen;
}
<header>
  <h1>Title</h1>
</header>
<div class="site-main">
  <div></div>
  <aside></aside>
</div>

关于html - 如何使用flexbox填充剩余高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41852701/

相关文章:

javascript - 两个文本框日期不应大于 JavaScript 中的当前日期

css - 在负边距后摆脱剩余的 div 标签空间

html - 设置 flex 元素之间的垂直间隙

css - Safari 中的 Flexbox : Grow and shrink

html - 如何允许用户手动调整 <div> 元素的垂直大小?

javascript - Dash 中的多页面应用程序 - 其他页面无法识别的下拉值

javascript - MVC razor 返回确认变量

html - CSS- :last-child that has "xyz" class name selector? 纯 CSS/LESS

html - 如何在css3中显示风景

javascript - 在某一点后停止粘附的粘性侧导航