【问题标题】:sticky CSS footer broken粘性 CSS 页脚损坏
【发布时间】:2011-03-08 20:26:29
【问题描述】:

我的页脚设计为保留在页面底部,即使其上方的 div 仅包含少量内容。它直到最近才起作用,我似乎以某种方式破坏了它。 可以看看吗?

提前致谢。

CSS:

body {
    margin: 0;
    padding: 0;
    height: 100%;
    font: 100% Helvetica, sans-serif, Arial, sans-serif;
    color: #000;
    background-color: #FFF;
    background-image: url(images/BGmain.png);
    background-repeat: repeat-x;
}
/*----------
Div styles
----------*/
#container {
    min-height: 100%;
    position: relative;
}
.header {
    padding: 0 0 230px 0;
    text-align: center;
    background-image: url(images/BGlogo_55top.png);
    background-repeat: no-repeat;
    background-position: top;
}
.column1 {
    padding-bottom: 50px;
    width: 960px;
    margin: 0 auto;
    position: relative;
}
.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 50px;           
    text-align: center;
}
/*----------
Other
----------*/
.plainimg {
    border-style: none
}
/*----------
Text styles
----------*/
p {
    font-size: 80%;
    color: #333;
    line-height: 150%;
    text-align: left;
    padding: 1px 15px 1px 15px;
}
h1 {
    font-size: 100%;
    color: #000;
    padding: 0;
}
h2 {
    font-size: 100%;
    font-weight: 500;
    color: #000;
    padding: 0;
    text-align: center;
}
/*----------
Links
----------*/
a.navlink:link, a.navlink:visited {
    text-decoration: none;
    display: inline-block;
    color: #F1F1F1;
    width: 120px;
    text-align: center;
    padding: 0 0 3px 0;
    font-size: 80%;
}
a.navlink:hover, a.navlink:active {
    text-decoration: none;
    display: inline-block;
    color: #FFF;
    background-color: #000;
    width: 120px;
    text-align: centre;
    padding: 0 0 3px 0;
    font-size: 80%;
}
a:link, a:visited {
    text-decoration: none;
    color: #AEAEAE;
}
a:hover, a:active {
    text-decoration: underline;
    color: #999
}

div排列如下:

<div id=container>
<div class=header></div>
<div class=column1></div>
<div class=footer></div>
</div>

【问题讨论】:

  • 你不需要复制粘贴所有的 CSS,只需要必要的代码就可以了。
  • @tambourine:我非常不同意。完整的代码很好,通常更可取和/或需要。粘贴太多总比太少出错。
  • 显然这不是问题,但您的 CSS 有一个错误。值text-align: centre;,大约在第 88 行。
  • 看看this example

标签: html css sticky-footer


【解决方案1】:

看看这个:http://matthewjamestaylor.com/blog/keeping-footers-at-the-bottom-of-the-page

当它在过去对我造成破坏时,我通常会在内容中包含一些罪魁祸首 - 填充、无效标记等。如果您发布指向页面的链接,您可能会找到更具体的答案。

【讨论】:

  • 好东西。它位于 www.gregmusser.com/test
  • 编辑:只有索引页面和花园页面可以测试。
  • 看起来你的身体标签不是 100% 高。我在 html 标签中添加了height: 100%,以便快速获胜。从那里开始,看看我最初发布的链接。他有我多年来一直使用的风格。另外,如果您没有它,请获取 Firebug for Firefox。它非常适合这些类型的诊断/调整。
  • @Jason McCreary:当我(现在)检查页面时,他确实在 上有height: 100%。页脚仍然不在底部。
  • 将高度添加到 对我有帮助,但会触发不必要的滚动条。页脚仍未固定。
【解决方案2】:

正如 Jason McCreary 所说,您需要为 html CSS 添加高度。

用途:

html 
{
    height:     100%;
    margin:     0;
    padding:    0;
}

由于某种原因,这会在您的页面上触发一个无关的滚动条。

更新:
滚动条似乎是由 .footer h6 的溢出触发的。
将:bottom: 2.5ex;line-height: 1; 添加到 footer 样式似乎可以清除这一点。

但更好的方法是使用a CSS reset

在没有重置的情况下,至少添加:

.footer h6 {
    margin: 0;
    padding: 0;
}

.

A CSS reset 还将最大限度地减少跨浏览器的变化,这种变化会破坏平台之间的布局。

【讨论】:

  • 嗨,Brock,我已经添加了您提供的 html CSS,但不幸的是仍有问题。它在 Firefox 和 Chrome 中的表现都更好,并且在 Garden 页面上表现良好,但在索引上则不行。
  • 嗨,@user367232,页面 gregmusser.com/test 没有显示 CSS 重置,也没有显示 bottom: 2.5ex;。请参阅我的更新答案。
  • 嗨,Brock,我现在已经按照您的建议进行了更改。 h6 更改是否足够,还是我需要重置 CSS?这让我很紧张,仅此而已。我会用萤火虫做更多的测试。如果你发现任何东西,请告诉我!
  • 嗨@user367232,对于您正在使用的浏览器,对于页面本身,h6 更改可能足够。但是(1)客户端将使用各种不同的浏览器,每个浏览器都有不同的默认设置! (2) 当你做出未来的改变时会发生什么? CSS 重置只是省了很多麻烦——它可能也有助于解决这个问题。所以,不,你不是绝对需要一个,但我不知道有任何经验丰富的页面制作者没有学会用一个艰难的方法来使用一个。
  • 感谢 Brock,我会将其标记为已回答。我做网站才两年,有时还是碰壁!非常感谢您的提示。
【解决方案3】:

这是你的问题:

#container {
min-height:100%;
position:relative;
}

这里是修复:

#container {
min-height:100%;
}

好东西:

http://www.w3schools.com/Css/pr_class_position.asp

【讨论】:

  • 嗨,Gavra,这似乎对我没有任何影响。
  • 如果我们在谈论这个网站:gregmusser.com/test 那么你做错了,因为你在#container 上有相对位置,并且具有 position:absolute 的元素将绝对从第一个父元素定位位置:相对的,或者如果没有,那么它会从身体定位它自己。现在我再次检查了该站点,没有位置:#container 上的相对,并且页脚固定在底部...
【解决方案4】:

解决了。简单的解决方案只需将您​​的页脚部门放在您的容器部门之外。

<div id=container>
    <div class=header></div>
    <div class=column1></div>
</div>
<div class=footer></div>

【讨论】:

  • 嗨 Starx,我认为这样的安排意味着它会永久卡在浏览器窗口的底部,并且如果我添加很多内容就不会向下移动。
  • no user367232 页脚是绝对定位的,所以无论你添加或减少它都会保持不变
猜你喜欢
  • 2011-08-14
  • 2012-05-14
  • 2015-02-11
  • 1970-01-01
  • 2014-03-15
  • 2014-07-27
  • 2015-06-24
  • 2010-11-28
相关资源
最近更新 更多