【发布时间】:2018-02-20 03:09:04
【问题描述】:
我在使用 flexbox 将 div 调整到其父级的高度时遇到了一些麻烦。该问题仅在 Chrome (48) 下发生,它在 Firefox (44) 中正确呈现(或我理解为正确的)。
您可以在 Fiddle 中查看:https://jsfiddle.net/jvilla/kjtLoxct/1/
布局类似于:
...
<body>
<div id="wrapper">
<div id="header"></div>
<div id="page">
<div id="inner"></div>
</div>
<div id="footer"></div>
</div>
...
这个想法是有一个带有页眉和页脚的 flexbox 布局。页面的“主要”部分,在这两者之间,设置为:
#wrapper {
display: flex;
flex-direction: column;
height: 100%;
}
#page {
flex-grow: 1;
overflow: auto;
height: 100%;
}
并且#page div有一个子div
#inner {
height: 100%;
}
但是,内部 div 会溢出父级。如果您使用检查器(总高度 - 页眉 - 页脚),则父 div 具有正确的大小,但内部 div,尽管 100% 高度规则应将其高度设置为其父级,但会溢出它。
我检查了几个明显相似的问题,但似乎找不到解决方案。如果可能的话,我宁愿避免使用 position: absolute。
【问题讨论】: