html5 : three-rows flexbox with fixed top/bottom and scrollable middle

标签 html css flexbox

是否可以制作一个具有固定 header/footer 和可滚动 article 部分的 html5 flexbox 布局,如下所示 firefox 24 和 chromium 31?

+----------+
| header   |
+----------+
| article ||
|         ||
|         ||
|         ||
+----------+
| footer   |
+----------+

我试过这个(简化版):

body {
  display: flex;
  flex-direction: column;
}
header {
  flex: 1;
}
article {
  flex: 8;
  overflow-y: scroll;
}
footer {
  flex: 1;
}

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

最佳答案

您可能需要确保 body 100% 高:

html, body {
    margin:0;
    height:100%;
    min-height:100%;
}

我做了一个fiddle .

关于html5 : three-rows flexbox with fixed top/bottom and scrollable middle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19477707/

相关文章:

html - CSS 中的独立属性选择器

html - 考虑显示器之间的色差

javascript - 为什么我的 html 不显示第三列

html - 如何获得表格宽度以保留在其容器中?

php - 将少量代码应用于域中的每个页面

html - flex-basis auto和0(零)的区别

javascript - 当触发多个点击事件时,Chrome 中的显示/隐藏无法正常工作

html - Flex children 在较小的屏幕上被切断

html - 省略号在 flex 容器中不起作用

html - css sidebar positioning with a margin 不断下沉