我想使用一个使用 flexbox 的全高应用程序。我在这个链接中找到了我想要使用旧的 flexbox 布局模块(display: box;
和其他东西)的东西:CSS3 Flexbox full-height app and overflow
对于只支持旧版 flexbox CSS 属性的浏览器来说,这是一个正确的解决方案。
如果我想尝试使用较新的 flexbox 属性,我将尝试使用作为 hack 列出的同一链接中的第二个解决方案:使用带有height: 0px;
. 它使显示垂直滚动。
我不太喜欢它,因为它引入了其他问题,而且它更像是一种解决方法而不是解决方案。
html, body {
height: 100%;
}
#container {
display: flex;
flex-direction: column;
height: 100%;
}
#container article {
flex: 1 1 auto;
overflow-y: scroll;
}
#container header {
background-color: gray;
}
#container footer {
background-color: gray;
}
<section id="container" >
<header id="header" >This is a header</header>
<article id="content" >
This is the content that
<br />
With a lot of lines.
<br />
With a lot of lines.
<br />
This is the content that
<br />
With a lot of lines.
<br />
<br />
This is the content that
<br />
With a lot of lines.
<br />
<br />
This is the content that
<br />
With a lot of lines.
<br />
</article>
<footer id="footer" >This is a footer</footer>
</section>
我还准备了一个带有基本示例的 JSFiddle:http: //jsfiddle.net/ch7n6/
这是一个全高的 HTML 网站,由于内容元素的 flexbox 属性,页脚位于底部。我建议你移动 CSS 代码和结果之间的栏来模拟不同的高度。