这个问题似乎已经以各种形式被回答了无数次,但我仍然找不到适合我的答案。简而言之,我有这样的布局:
<body>
<div class="wrapper">
<div class="header"></div>
<div class="body"></div>
<div class="footer"></div>
</div>
</body>
我想wrapper
在浏览器中水平居中并填充浏览器高度的 100%。每个封闭的<div>
元素都有一个固定的高度,通常总和大于浏览器窗口的高度。如果是这种情况,我会得到我想要的布局。
但是,如果浏览器窗口的高度大于封闭元素的组合高度(例如在iMac<div>
或纵向 iPhone 方向上的情况),则下面的窗口是背景。背景和背景是不同的颜色,所以很明显是这种情况。wrapper
footer
<body>
wrapper
<body>
有没有人对此有 CSS 解决方案,以便wrapper
填充浏览器高度,而不管这个高度是大于还是小于内容的组合高度?
编辑: 答案:
答案是下面的答案和我刚才发生的事情的组合:在 CSS 中,这样做:
body, html {
height: 100%;
margin: 0px auto;
padding: 0px auto;
}
.wrapper {
height: auto; /* These two lines were the key. */
min-height: 100%
/*overflow: hidden;*/ /* Do not use this, it crops in small browsers. */
margin: 0px auto;
padding: 0px auto;
}