【发布时间】:2019-01-08 18:14:38
【问题描述】:
我正在尝试构建一个导航面板,它的顶部有一个固定高度的主导航栏,一个固定在屏幕底部的固定高度的辅助导航栏,以及一个填充剩余空间的容器,并且是可根据内部项目列表的长度滚动。
我正在学习使用 flexbox 并认为我可以使用 flex-grow 和 overflow: hidden 来完成此操作,但是我遇到了一些麻烦。
html,
body {
height: 100%;
}
.container-main {
display: flex;
height: 100%;
flex-flow: column;
}
.nav-bar {
display: flex;
height: 36px;
background-color: grey;
}
.container-dd {
height: 100%;
display: flex;
flex-flow: column;
}
.dd-fill {
display: flex;
flex-flow: column;
flex: 1 1 auto;
background-color: green;
overflow: hidden;
}
.dd-bot {
display: flex;
height: 100px;
}
<div class="container-main">
<div class="nav-bar">top nav bar</div>
<div class="container-dd">
<div class="dd-fill">
<p>list item</p>
<p>list item</p>
<p>list item</p>
<p>list item</p>
<p>list item</p>
<p>list item</p>
<p>list item</p>
<p>list item</p>
<p>list item</p>
</div>
<div class="dd-bot">sticky footer</div>
</div>
</div>
从fiddle可以看出,div dd-fill里面放不下的内容是无法访问的,也没有滚动条。辅助导航栏的固定高度也没有被强制执行。有谁知道它为什么会这样?提前致谢。
【问题讨论】:
标签: html css flexbox overflow flex-grow