前端常见经典布局一:粘连布局

什么是粘连布局(css sticky footer)

当main的高度足够长的时候,紧跟在后面的元素

会跟在其后面;示例如下:
在这里插入图片描述
当元素比较短的时候(比如小于屏幕的高度),我们期望这个
元素能够“粘连”在屏幕的底部。
示例如下:
在这里插入图片描述
这种情况我们称为粘连布局。

粘连布局的布局方法

粘连布局由三个组成部分:wrap容器,main内容,footer脚部

<div id="main">
    <div class="main">
          main<br>
          main<br>
          main<br>
          main<br>
          main<br>
          main<br>
      </div>
  </div>
  <div id="footer">
      footer
  </div>

具体实现思路:
1、当内容区小于 main 时,保证 main 的最低高度为 视窗高度,此处请注意如果要保证等于视窗高度需要从html,body一层层继承高度100%。同时为了保证底部时刻保持在最底部,需要给 footer 设置 margin-top = 底部的高度。
2、当内容区大于 main 时,为了避免 main 与 footer 重合,可以给 包含的 main 设置 padding-bottom 为底部的高度。具体样式代码如下:

      *{
                margin: 0;
                padding: 0;         
            }
            html,body{
                height: 100%;
            }
            #main{
            min-height: 100%;  
            }
            .main{
                padding-bottom: 100px;
            }
            #footer{
                height: 100px;
                background: pink;
                margin-top: -100px;
            }

完整代码示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
            *{
                margin: 0;
                padding: 0;         
            }
            html,body{
                height: 100%;
            }
            #main{
            min-height: 100%;  
            }
            .main{
                padding-bottom: 100px;
            }
            #footer{
                height: 100px;
                background: pink;
                margin-top: -100px;
            }
    </style>
</head>
<body>
    <div id="main">
        <div class="main">
            main<br>
            main<br>
            main<br>
            main<br>
            main<br>
            main<br>
        </div>
    </div>
    <div id="footer">
        footer
    </div>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码搬运媛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值