首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用flexbox强制div填充页面的剩余高度

使用flexbox强制div填充页面的剩余高度
EN

Stack Overflow用户
提问于 2021-01-23 04:51:12
回答 1查看 1.2K关注 0票数 1

我有一个页面,我想以这样的方式设置样式:我有一个导航栏,在它下面有一个固定高度的div,在它下面有一个灵活的div,灵活的div包含两个水平排列的元素,灵活的div应该占据页面的剩余宽度。

我遵循了这个教程,但是我没有达到他们所描述的效果:https://css-tricks.com/boxes-fill-height-dont-squish/

我希望area-2分区占据页面的剩余高度。

我如何才能做到这一点?

Stackblitz:https://stackblitz.com/edit/js-bnrfcu?file=style.css

代码语言:javascript
复制
<div class="nav">
    <h1>Nav</h1>
</div>

<div class="area1">
    <h4>Area1</h4>
</div>

<div class="fill-height">
    <div class="area-2">
        <div class="area-2-a">
            <p>Area-2a</p>
        </div>
        <div class="area-2-b">
            <p1>Area-2b</p1>
        </div>
    </div>
</div>
代码语言:javascript
复制
.nav {
  height: 5rem;
  background-color: aqua;
}

.nav-spacer {
  margin-top: 5rem;
}

.area1 {
  height: 10rem;
  background-color: brown;
}

.fill-height {
  display: flex;
  flex-direction: column;
}

.fill-height > div {
  flex: 1;
}

.area-2 {
  display: flex;
  flex-direction: row;
  width: 100%;
}

.area-2-a {
  width: 20%;
  background-color: #4f90ff;
}

.area-2-b {
  width: 80%;
  background-color: #2b41ff;
}
EN

回答 1

Stack Overflow用户

发布于 2021-01-23 05:01:53

fill-height div使用所有可用的空间min-height: 100%;,但是,没有空间可以填充,好吧,height: 100vh;会处理这个问题。

代码语言:javascript
复制
body {
  height: 100vh;
}

.fill-height {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65852596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档