以下是将页脚粘贴到页面底部的代码:
#footer {
background-color: #0F2157;
width: 100%;
bottom: 0px;
min-height: 35px;
padding-top: 5px;
}
当我用高度做它时,它的效果非常好,但是当我试图设置最小高度时,它会在页脚下留下一点空间。有什么猜测如何解决?
答案 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%;
}