如果您只是希望页脚始终位于页面底部,那么我建议您查看http://www.cssstickyfooter.com/。他们有一个很好的概念来确保页脚要么位于内容的末尾,要么触及页面底部。
例子
如果您希望页脚覆盖屏幕的整个底部(从内容结束的地方开始,到屏幕底部结束),那么您需要知道“容器”内所有元素使用的总高度" 元素以及 "container" 元素的高度。
一种简单的方法是将所有子元素放入不同的 div 中(您可以轻松跟踪其高度。
//find the difference in height between the
//"parent" div (minimum of 100% of page height) and
//the "main" div (the total height of its child elements)
height = document.getElementById('parent').offsetHeight -
document.getElementById('main').offsetHeight;
//Set the top margin of footer to minus the height
//(make footer go up 'height' number of pixels
document.getElementById('footer').style.marginTop = -height+'px';
//Set the height of the footer to 'height'
document.getElementById('footer').style.height = height+'px';
请务必注意,这些计算基于 cssStickyFooter 代码。这确保页脚的底部保持在屏幕底部(除非它通过屏幕底部)。
例子
对于这个例子,我在“主”div 周围添加了一个绿色边框,以便您可以看到它的结束位置。我还确保在重新调整页面大小时更改页脚,以防子元素四处移动(重新调整页面大小以查看这种情况)。我还在min-height
页脚中添加了一个,所以即使#main.height >= #parent.height
.
我希望这有帮助。