如何将页脚扩展到页面底部?

问题描述 投票:42回答:8

我有这样的布局

<section id="container">
    <header></header>
    <section id="main"></section>
    <footer></footer>
</section>

目前我的网页布局如下:

-------------------
|                 | 100px height
|  HEADER         |
|-----------------|
|                 |
|  MAIN           | 500px height
|                 |
|-----------------|
|                 |
|  FOOTER         |
|-----------------|
|                 |
|                 |
-------------------

我希望页脚跟随主要内容区域延伸到页面底部,如何实现?

-------------------
|                 | 100px height
|  HEADER         | 
|-----------------|
|                 |
|  MAIN           | 500px height
|                 |
|-----------------|
|                 |
|  FOOTER         |
|                 |
|                 |
|  FOOTER         |
-------------------

注意:我注意到到目前为止所有答案都会将页脚固定在页面底部,但是当拖动页脚只是向下移动/主容器展开时,我希望页脚展开。

html css
8个回答
122
投票

我正在寻找这个确切问题的解决方案,我遇到了一种非常简单的方法来实现我想要的效果:

footer {
    box-shadow: 0 50vh 0 50vh #000;
}

如果不需要,这会产生一个从屏幕上掉下来的阴影,否则会给页脚下方的空间提供100vh(一个完整的视口高度值)覆盖,因此身体背景不会出现在它下面。


6
投票

如果可能的话,我会创造出页脚延伸到底部的错觉。

说页脚背景颜色是#000000;

将正文背景颜色设置为#000000

并确保

跨度100%宽度。

颜色#00000仅用于示例目的,您可能需要图像切片或渐变等中使用的lat颜色...


6
投票

虽然这标记得到了回答,但似乎并没有完全回答OP的问题。我遇到了同样的挑战,这就是我发现的工作:

  1. 将HTML和正文设置为100%高度
  2. 确保您的所有内容,包括您的页脚都包含一个大div(站点容器)
  3. 摆弄页脚中的空间。

这是CSS:

html, body{
    height: 100%
}

.site-container{
    overflow: hidden;
    min-height: 100%;
    min-width: 960px;
}

.footer{
    padding-bottom: 32000px;
    margin-bottom: -32000px;
 }

我在这里找到了这个:https://www.joestrong.co.uk/blog/2012/01/12/css-tip-extend-your-sites-footer-to-the-bottom-of-the-page/包含更多信息。


4
投票

这应该做的技巧http://jsfiddle.net/fXf4K/


2
投票

您可以使用粘性页脚来实现这种效果,例如listed here,并将其应用到您的设计中,将页脚推到文档的底部,就像我在这个演示中所做的那样:

Demo,编辑here


1
投票

试试下面的小提琴,它展示了如何始终将页脚保持在底部的概念。

小提琴:http://jsfiddle.net/evTb4/

但是:ぁzxswい


1
投票

我有同样的问题,并发现这是有效的 - 只要页脚自己出来,即不在容器div或任何东西。

基本上,我需要将内容固定宽度并以白色背景为中心,在body标签中使用水平重复的背景图像,扩展浏览器窗口的整个宽度,在标题下方提供一个漂亮的带。无论内容的高度和浏览器窗口大小如何,我都希望页脚呈深色并延伸到页面底部。

我的页面(非常简单)如下:

http://jsfiddle.net/evTb4/embedded/result/

然后在css中包含这些规则(以及所有其他样式):

<!DOCTYPE HTML>
<html>
<head>usual stuff</head>
<body>
<div id="container">
<header>fixed height and containing various stuff</header>
<div id="sidebar">floated left and containing nav</div>
<div id="content">floated left and containing various stuff</div>
<div class="clearfloat"></div>
<!-- end container --></div>
<footer>various stuff, address etc.</footer>
</body>
</html>

隐藏的溢出消除了由100%html和主体高度引起的恼人的滚动条,补偿了容器的高度并延伸到浏览器窗口之外。


0
投票

与@ c4collins类似,您可以使用视图高度而不是固定像素,以防有人拥有一个巨大的监视器

html, body {
    height: 100%;
    overflow: hidden;
}

    footer {
    height: 100%;
}
© www.soinside.com 2019 - 2024. All rights reserved.