CSS将页脚粘贴到底部

时间:2015-12-17 23:10:39

标签: css footer

以下是将页脚粘贴到页面底部的代码:

#footer {
background-color: #0F2157;
width: 100%;
bottom: 0px;
min-height: 35px;
padding-top: 5px;
}

当我用高度做它时,它的效果非常好,但是当我试图设置最小高度时,它会在页脚下留下一点空间。有什么猜测如何解决?

4 个答案:

答案 0 :(得分:1)

首先,body,html和container的高度(请参阅带有'container'类的元素)必须有display: flex; flex-direction: column; /*the flex items are placed in column, by default it is in row*/ 在这个解决方案中,我使用了柔性盒。它受到所有现代浏览器和IE11的支持。 有必要将以下属性添加到容器中:

margin-top: auto; /* it grabs all free space between flex items and put it before this flex item */

要将页脚移到底部,只需添加到弹性项目

html, body {
  height: 100%;
}

.container {
  height: 100%;
  background-color: green;
  display: flex;
  flex-direction: column;
}

.header {
  height: 20%;
  background-color: yellow;
}

.content {
  background-color: white;
}

.footer {
  min-height: 20%;
  background-color: blue;
  margin-top: auto;
}

  <div class="container">
    <div class="header">Header</div>
    <div class="content">It's content</div>
    <div class="footer">Footer in bottom</div>
  </div>
\

答案 1 :(得分:0)

你使用最小高度35像素。我认为你的内容在页脚内部的高度超过35px。因此,请检查所有页脚元素的边距或填充。

如果你能做一个jsfiddle演示会更好。

答案 2 :(得分:0)

使用 Flexbox 怎么样?它受 IE>=10 支持。

要使用它,您必须至少在两个单独的元素中拆分您的页面:“upper”-one(3.13.0-65)包含页面的全部内容和页脚。

“upper” - one获取值 flex:1 ,这是shorthand

.content

这意味着,“上层”元素可以增长到maximum,而页脚只保留它实际需要的空间。

代码段

flex-grow: 1
flex-shrink: 1
flex-basis: auto
html {
  height: 100%;
}
body {
  min-height: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.content {
  flex: 1;
}

答案 3 :(得分:0)

[解决]

我发现这适用于我的例子:

#footer {
  position: absolute;
  bottom: 0;
  width: 100%;
}