当页面小于窗口时如何强制HTML背景到底部

Posted

技术标签:

【中文标题】当页面小于窗口时如何强制HTML背景到底部【英文标题】:How to force HTML background to bottom when page is smaller than window 【发布时间】:2012-09-08 19:32:35 【问题描述】:

我有一个带有 2 个背景图像的页面,其中一个需要显示在页面的最底部。目前我已经这样实现了:

body 
    background-image: url('/cheri/image/background.png'), 
                      url('/cheri/image/backgroundB.png');
    background-position: top, bottom;
    background-repeat: repeat-x, repeat-x;

当页面内容高于浏览器窗口时,这可以正常工作,但如果它更小,则会在背景图像下方留下一个空白区域,如下图所示:

http://img198.imageshack.us/img198/4560/screenshot20120916at851.png

我尝试将 body 设置为 position:absolute, height:100%,但是当存在滚动时它没有正确呈现。我还尝试为背景图像创建一个单独的 div 并将其绝对定位到底部,但由于底部出现的某些元素具有不同的位置属性,z-indexing 无法正常工作。

感谢您的帮助!

【问题讨论】:

背景图片中的多张图片会在以下 Internet Explorer (9.0) 中产生问题 谢谢,但我可以解决。无论我使用 2 个背景图像还是 1..,这个问题都存在 看起来您可能没有正确设置背景位置,它希望每个背景都有一个像“左上角”这样的参数。您可能应该为 background-position 设置的是“0 top, 0 bottom” 【参考方案1】:

htmlbody 上都使用min-height: 100%

html, body  min-height: 100%; 

DEMO

当您有足够的内容导致滚动时,它不会产生任何问题。

DEMO

【讨论】:

【参考方案2】:

同时设置 HTML 元素:

html 
    background-image: url('/cheri/image/background.png'), url('/cheri/image/backgroundB.png');
    background-position: top, bottom;
    background-repeat: repeat-x, repeat-x;

【讨论】:

以上是关于当页面小于窗口时如何强制HTML背景到底部的主要内容,如果未能解决你的问题,请参考以下文章

如何制作圆形页面? (当滚动到页面内容的末尾时,页面将内容的开头添加到底部等等)

在 HTML 中的页面刷新时强制页面滚动位置到顶部

手机H5页面,滑动到底部自动加载下一页内容

css 在短页面上强制页脚到底部

当用户在 iframe 中导航时,强制 iframe 的父页面自动滚动到顶部?

如何在 div 中重复背景图像比页面长度更长?