我现在正在处理的网站有一个有趣的布局,我在 CSS 中遇到了麻烦。页眉和页脚跨越浏览器窗口的整个宽度,内容被限制在 960 像素宽的块中 - 但是在这个 960 像素的内容块中还有一个辅助“内部”页脚。主页脚和这个“内部”页脚都需要位于页面底部。这是网站的标记,被剥离到功能单元:
<html>
<body>
<header></header>
<section id="content">
MAIN CONTENT
<section id="internal-footer"></section>
</section>
<footer></footer>
</body>
</html>
CSS如下:
html{margin:0;padding:0;min-height:100%;height:100%;}
body{margin:0;padding:0;min-height:100%;position:relative;}
header{width:100%;}
footer{width:100%;height:XXXpx;position:absolute;bottom:0;left:0;}
#content{width:960px;margin:0 auto;position:relative;padding-bottom:(XXX+YYY)px;}
#internal-footer{width:100%;height:YYYpx;position:absolute;bottom:0;left:0;padding-bottom:XXXpx;}
我在这里创建了一个 JSFiddle(添加背景颜色和边框,并减少内容的宽度)来演示我遇到的问题。
当有足够的内容时,一切都会按预期进行。当没有足够的内容时,该#content
部分没有被拉伸并且内部页脚不仅被抬起,而且由于底部填充它太高了。当然,太高不是一个严重的问题,因为我可以只设置no-repeat
背景图像,没有人更聪明。
#content
那么,当没有足够的内容时,如何在不创建滚动条的情况下强制拉伸到页面底部?