我尝试用一个灵活的盒子布局模型来实现一个粘性的页脚,它是在Chrome和Firefox的最新版本中实现的。
给定body元素中的此标记:

<header>
    HEADER
</header>

<div>
    CONTENT
</div>

<footer>
    FOOTER
</footer>

我的想法是使用以下CSS:
html,
body {
    height: 100%;
}

body {
    margin: 0;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
}

div {
    -webkit-flex: 1;
    flex: 1;
}

footer {
    background-color: yellow;
}

只要内容小于视窗高度的100%,这就可以正常工作。然而,当内容变大时,Chrome 28开始在内容的顶部绘制页脚。是错误的行为(如果:我该怎么解决)还是我的CSS错了?
你可以在这里测试Chrome的行为:http://jsfiddle.net/SYmJp/
Firefox确实按预期显示了这个东西。铬/铬25/26也是。
如果这是最近Chrome版本中的一个回归,那么这个bug已经被报告了吗?
补充
这个明显的错误仍然存在于Chrome 29中。

最佳答案

将高度更改为最小高度:http://jsfiddle.net/n4rv8xws/
这在Chrome 39中为我修复了它:

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

我同意你的说法,这是一个铬回归。

关于html - 带有灵活框布局模型的粘页脚?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16624315/

10-09 15:42
查看更多