我想通过Flexbox使用全高应用。我display: box;
在此链接中找到了使用旧的flexbox布局模块(和其他东西)所需的内容:CSS3 Flexbox全高应用程序和溢出
对于仅支持旧版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网站,由于content元素的flexbox属性,页脚位于底部。我建议您在CSS代码和结果之间移动栏,以模拟不同的高度。
flex-shrink:0
页眉和页脚。