【问题标题】:Footer that sticks to the bottom of the page粘在页面底部的页脚
【发布时间】:2013-12-02 05:50:31
【问题描述】:

您好,我有一个 CSS 问题,因为我试图将页脚粘贴到页面底部,但它只会将其粘贴到视口的下方,而不是文档的底部。

有人可以帮我理解为什么会这样吗?

我的 css 和 html 非常简单,尽管在阅读了大量示例并尝试之后,我仍然无法使其正常工作。我不希望我的页脚在包装器内,而不是在包装器之外,我也不想在包装器上设置 height:100%。

我的 html 如下所示:

<div class="wrapper">
... some content
</div>
<div class="footer">

</div>

还有我的 CSS:

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

body {
    position:relative;
    height: 100%;
    background-color: #D8D8D8;
    margin: 0;
    padding: 0;
    font-family: "Trebuchet MS", Verdana, tahoma, arial, serif;
    font-size: 12pt;
}

.wrapper {
  position:relative;           
  margin-left: auto;
  margin-right: auto;
  width: 1024px;
  padding: 6px;
  margin-bottom: 30px;

}

.footer {
    position: absolute;
    bottom:0;
    left: 50%;
    margin-left: -512px;
    height: 25px;        
    background-color: #E6E6E6;
    width: 1024px;
    padding: 6px;
    clear:both;

}

是否可以使用包装器外部的页脚来执行此操作?

我认为在页脚上设置绝对位置意味着它将基于 body 或 html 定位,因为它们是具有 position:relative 的下一个元素,但 bottom:0 似乎只是视口的底部尽管包装器 div 远远超出此范围,但包含大量内容。

这样做的结果是,当包装器中有很多内容时,页脚实际上会停留在页面的中间,因为底部被计算为视口的底部。

谢谢

【问题讨论】:

  • 它不在包装内。检查这个jsfiddle.net/tfRuy
  • 谷歌的粘性页脚:)
  • 不需要在所有类中添加“位置”。
  • 为什么不希望它在包装器中?
  • Adam 我不希望它在包装器中,因为包装器有一些额外的 CSS,例如背景颜色和边框,我不希望页脚在其中。我现在正在考虑修改我的 html。

标签: html css footer


【解决方案1】:

不需要一直使用定位。该属性仅适用于特定情况以专门“定位”内容。

我想删除

position: absolute;

来自

  .footer

应该能解决问题。

【讨论】:

  • 这只是意味着我现在回到第一格,即如果包装器中的内容足够大,如果包装器中的内容非常大,我的页脚位于页面底部小我的页脚漂浮在页面的一半,这不是我想要的。
  • 所以基本上你希望包装器在内容很多时贴在页面底部,而在内容很少时贴在视口底部??
  • 尝试body{min-height:100%} 并保留position:absolute.footer。您的页脚应该根据 body 定位,只有当内容较少时,它才会是视口的 100%。希望这会有所帮助。
  • 或者设置position:fixed,如果你想让它一直停留在屏幕的底部..我不确定你到底是什么......
猜你喜欢
  • 1970-01-01
  • 2016-05-01
  • 2012-10-19
  • 2011-06-30
  • 1970-01-01
  • 2020-04-04
相关资源
最近更新 更多