让底部永远显示在页面最底部需要考虑两种情况:
一种是当页面内容高度大于浏览器窗口高度时,这时底部会正常的显示在页面最底部;
另一种是当页面内容高度小于浏览器窗口高度时,这时底部会漂到浏览器窗口中间位置;
这通常不是我们想要的结果,这时我们希望底部内容显示在浏览器窗口的底部:
怎么实现这种效果呢?
我们需要用到css新增加的vh单位和box-sizing这个属性
具体的做法是:
用一个外包元素将页面内容包起来,像这样:
<div class="wrapper">
<div class="demo">正文内容</div>
<div class="footer">底部内容</div>
</div>
给他设置css样式如下:
.wrapper{
position:relative;
min-height:100vh;
padding-bottom:120px; //将padding-bottom大小设置为底部内容的高度
box-sizing:border-box;
}
最后将底部用绝对定位,定位在底部,底部css的示例:
.footer{
position:absolute;
left:0;
bottom:0;
width:100%;
height:120px;
}
需要注意的是,底部的高度height和外包元素的padding-bottom参数必须一致