flex 底部固定_详解八种方法实现CSS页面底部固定

当我们在写页面时经常会遇到页面内容少的时候,footer会戳在页面中间或什么?反正就是不在最底部显示,反正就是很难看,下面要讲的布局就是解决如何使元素粘住浏览器底部,

方法一:footer高度固定+绝对定位

html

Header

Content

Footer

CSS

.dui-container{

position: relative;

min-height: 100%;

}

main {

padding-bottom: 100px;

}

header, footer{

line-height: 100px;

height: 100px;

}

footer{

width: 100%;

position: absolute;

bottom: 0

}

方法二:在主体content上的下边距增加一个负值等于底部高度

html

Header

Content

Footer

CSS

html, body {

height: 100%;

}

main {

min-height: 100%;

padding-top: 100px;

padding-bottom: 100px;

margin-top: -100px;

margin-bottom: -100px;

}

header, footer{

line-height: 100px;

height: 100px;

}

方法三:将页脚的margin-top设为负数

html

Header

Content

Footer

CSS

main {

min-height: 100%;

padding-top: 100px;

padding-bottom: 100px;

}

header, footer{

line-height: 100px;

height: 100px;

}

header{

margin-bottom: -100px;

}

footer{

margin-top: -100px;

}

方法四: 通过设置flex,将footer的margin-top设置为auto

html

Header

Content

Footer

CSS

body{

display: flex;

min-height: 100vh;

flex-direction: column;

}

header,footer{

line-height: 100px;

height: 100px;

}

footer{

margin-top: auto;

}

方法五: 通过函数calc()计算内容的高度

html代码

Header

Content

Footer

CSS代码

main{

min-height: calc(100vh - 200px); /* 这个200px是header和footer的高度 */

}

header,footer{

height: 100px;

line-height: 100px;

}

方法六: 通过设置flexbox,将主体main设置为flex

html

Header

Content

Footer

CSS代码

body{

display: flex;

min-height: 100vh;

flex-direction: column;

}

main{

flex: 1

}

方法七: 使用grid布局

Html代码

Header

Content

Footer

CSS代码

html {

height: 100%;

}

body {

min-height: 100%;

display: grid;

grid-template-rows: auto 1fr auto;

}

.footer {

grid-row-start: 3;

grid-row-end: 4;

}

方法八: display-*

html

Header

Content

Footer

CSS

body {

min-height: 100%;

display: table;

width: 100%;

}

main {

display: table-row;

height: 100%;

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值