如何在页面底部固定页脚

时间:2011-03-04 03:14:28

标签: css footer

在我的HTML中,我有一个div级别的“页脚”。我希望它有一个bg到#000并占据整页宽度,并且在它之后没有留下任何空格。

我目前正在使用此CSS:

.footer {
  color: #fff;
  clear: both;
  margin: 0em 0em 0em 0em;
  padding: 0.75em 0.75em;
  background: #000;
  position: relative;
  top: 490px;
  border-top: 1px solid #000;
}

但是整页宽度没有用这个css代码填充。

有任何帮助吗?谢谢!

9 个答案:

答案 0 :(得分:21)

我使用粘性页脚:http://ryanfait.com/sticky-footer/

/*

    Sticky Footer by Ryan Fait
    http://ryanfait.com/

    */

* {
  margin: 0;
}

html,
body {
  height: 100%;
}

.wrapper {
  min-height: 100%;
  height: auto !important;
  height: 100%;
  margin: 0 auto -142px;
  /* the bottom margin is the negative value of the footer's height */
}

.footer,
.push {
  height: 142px;
  /* .push must be the same height as .footer */
}
<div class='wrapper'>
  body goes here
  <div class='push'></div>
</div>
<div class='footer'>Footer!</div>

基本上,包装器的高度为100%,页脚的高度为负边距,确保页脚始终位于底部而不会导致滚动。

这应该实现你的目标,即拥有100%宽度的页脚和更窄的主体,因为div是块级元素,并且它们的宽度默认为其父级的100%。请记住,这里的页脚不包含在包装div中。

答案 1 :(得分:2)

您可以将页脚div绝对地设置为页面,如下所示:

.footer {
    position:absolute;
    bottom:0px;
    width: 100%;
    margin: 0;
    background-color: #000;
    height: 100px;/* or however high you would like */
}

答案 2 :(得分:1)

我为网页的每个部分使用了一些DIV元素。

<div id="tplBody">
  <div id="tplHeader">
    ...
  </div>
  <div id="tplContent">
    ...
  </div>
  <div id="tplFooter">
    ...
  </div>
</div>

每个部分都相对定位。使用包装DIV,我可以将包装器设置为特定宽度,其中的元素可以是100%宽度。

我建议你避开绝对定位和浮动,因为它们会产生兼容性问题,因此可能无法在所有浏览器上正确显示。

答案 3 :(得分:0)

我很高兴你们所提供的支持,这些回复中的每一个都以某种方式帮助了我。我来到这段代码:

.footer {
  height: 59px;
  margin: 0 auto;
  color: #fff;
  clear: both;
  padding: 2em 2em;
  background: #000;
  position: relative;
  top: 508px;
}

谢谢!

答案 4 :(得分:0)

如果您希望在页面上修改页脚:

.footer{ position:fixed;}

但如果您希望页脚固定在页面末尾:

see that

答案 5 :(得分:0)

当我使用Bootstrap菜单和固定页脚启动Web应用程序时,无论浏览器分辨率如何,我都遇到了这个问题。

使用以下样式作为页脚元素

直线式       

使用Div

中的class属性的外部样式表
  <div class="footer"></div>

的style.css

  .footer
  {
   backgroud-color:black;
   position:fixed;
   bottom:0;
   height:2%;
  }

使用Div

中的id属性的外部样式表
 <div id="divfooter"></div>

的style.css

 #divfooter
 {
  backgroud-color:black;
  position:fixed;
  bottom:0;
  height:2%;
 }

答案 6 :(得分:0)

您可以在CSS中使用此样式来实现目标

.footer{
   background-color: #000;
   min-width: 100%;
   height: 100px;
   bottom:0;
   position: fixed;
}

如果您正在使用bootstrap尝试使用margin-left:-15px和margin-right:-15px,但在大多数情况下,如果您拥有自己的类,则不需要。

答案 7 :(得分:0)

html:

<div class="footer">
    <p>
        Some text comes here! &copy; 2015 - 2017
    </p>
</div>

的CSS:

.footer {
    width: 100%;
    height: auto;
    text-align: center;
    background: rgb(59, 67, 79);
    position: fixed;
    bottom: 0%;
    margin-top: 50%;
}

* {
    padding: 0;
    margin: 0;
}

答案 8 :(得分:0)

我遇到了同样的问题并使用 jquery 解决了它。

<body>
    <div id="header" style="background-color: green">This is header</div>
    <div id="main-body" style="background-color: red">This is body</div>
    <div id="footer" style="background-color: grey">This is footer</div>
</body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script type="text/javascript">
if(($(document).height() - $("body").height()) > 0){
    var main_body_height = $(document).height() - $("#footer").height() - $("#header").height()
    $('#main-body').css('min-height', main_body_height+'px');
}
</script>

我在这里所做的是基于用户的屏幕大小。
我在减去页眉和页脚的高度后增加主体部分的高度。 如果完整的 html body 高度小于用户屏幕尺寸,则它会增加主体部分的高度,并且页脚将自动到达页面底部。