起初,我想为将我的代码直接放入问题中而道歉,但我认为没有任何意义,因为 jsfiddle 似乎根本不支持我的想法。
我有一个文件的脚手架,比如
<body>
<div id = "top" class = "top">
<div class = "container-pageblock">
<div class = "block-content">
<div class = "some-element">rolololo</div>
</div>
</div>
<div class = "footer-pageblock">
<div class = "block-content">foter</div>
</div>
</div>
</body>
使用 css 规则
html
{
height: 100%;
}
body
{
font-family: "Segoe UI";
padding: 0;
margin: 0;
min-height: 100%
}
.top
{
width: 100%;
min-height: 100%;
background-color: #eee;
position: relative;
}
[class $= "-pageblock"]
{
width: 100%;
}
[class $= "-pageblock"] .block-content
{
width: 1080px;
margin-left: auto;
margin-right: auto;
}
.top, [class $= "-pageblock"]
{
min-width: 1080px;
}
.container-pageblock
{
background-color: #afa;
}
.footer-pageblock
{
text-align: center;
display: block;
background: #dde;
position: absolute;
bottom: 0;
}
.some-element
{
height: 500px;
}
我的目标是让页脚粘在浏览器的底部(在内容太少时.container-pageblock
和之间有一些空白),并且随着内容的增长,页脚位于文档的底部。这基本上意味着我需要页脚最多(不高于)位于浏览器窗口的底部。.footer-pageblock
问题似乎是div.top
'smin-height: 100%
没有将其高度作为body
高度。效果是,当浏览器高度(远)大于内容的高度时,.footer-pageblock
底部.content-pageblock
位于浏览器底部而不是底部。
Firebug 表明body
' 的高度确实至少有 100%。
我无法让它适用于 Firefox 和 IE 高达 9)。然而,代码似乎在最新的 Chrome 和 IE 10 中工作。
更重要的是,我真的很想保留这个html(也就是保留.footer-pageblock
里面.top
)
编辑
根据这个问题及其答案,我只需要指定height: 100%
to body
。与我的预期相反,这不会使.top
' 高度等于浏览器的高度。解决了。