然后你必须为此使用 javascript - 计算内容的高度 - 从窗口高度中减去它,并从该距离设置页脚的边距顶部:
HTML
<div id="header" class="header">Header</div>
<div id="content" class="content">Content</div>
<div id="footer" class="footer">Footer</div>
JS(这个例子使用了jQuery,它应该被包含在这个脚本之前。)
$('#footer').css('margin-top',
$(document).height()
- ( $('#header').height() + $('#content').height() )
- $('#footer').height()
);
您可以在窗口的任何调整大小上放置一个调用此函数的 onresize 窗口。
[编辑博客:]
这是onResize方法(但使用 amin-height
而不是 a margin-top
)
检查 JSFiddle
// function to set the height on fly
function autoHeight() {
$('#content').css('min-height', 0);
$('#content').css('min-height', (
$(document).height()
- $('#header').height()
- $('#footer').height()
));
}
// onDocumentReady function bind
$(document).ready(function() {
autoHeight();
});
// onResize bind of the function
$(window).resize(function() {
autoHeight();
});
边框、内边距和边距
如果您想在计算中包含边框和填充,您可以使用outerHeight()
而不是height()
. 或者outerHeight(true)
还包括边距。