html5:三行flexbox,固定的顶部/底部和可滚动的中间

net*_*ser 9 html5 css3 flexbox

是否有可能使一个html5固定Flexbox的布局header/footer和一个滚动的article部分像下面的Firefox 24和 31?

+----------+
| header   |
+----------+
| article ||
|         ||
|         ||
|         ||
+----------+
| footer   |
+----------+
Run Code Online (Sandbox Code Playgroud)

我试过这个(简化):

body {
  display: flex;
  flex-direction: column;
}
header {
  flex: 1;
}
article {
  flex: 8;
  overflow-y: scroll;
}
footer {
  flex: 1;
}
Run Code Online (Sandbox Code Playgroud)

现在我正试图填充剩余空间article,但如果内容高度小于窗口高度,则页脚不固定,如果它更大,则页脚滚出可视区域...

Moo*_*oob 15

你可能需要确保身体高100%:

html, body {
    margin:0;
    height:100%;
    min-height:100%;
}
Run Code Online (Sandbox Code Playgroud)

我做了一个小提琴.

  • 您的实现是正确的但有错,您的标题和页脚大小与页面大小相关.在大多数情况下不可取.这里是替代解决方案https://jsfiddle.net/njfmt7w0/ (14认同)