头闻号

珠海森奥化工有限公司

UV胶|厌氧胶|结构胶|复合型胶粘剂|瞬间胶|其他合成胶粘剂

首页 > 新闻中心 > 科技常识:stricky footer的三种解决方案详解
科技常识:stricky footer的三种解决方案详解
发布时间:2024-11-19 05:50:49        浏览次数:4        返回列表

今天小编跟大家讲解下有关stricky footer的三种解决方案详解 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关stricky footer的三种解决方案详解 的相关资料,希望小伙伴们看了有所帮助。

stricky footer设计是最古老和最常见的效果之一 我们都曾经历过类似的情景:

如果页面内容不够长的时候 页脚块粘贴在底部;如果内容足够长时 页脚块会被内容向下推送。

这些天做vue+express实战的练习 跟着黄轶老师倒是认识了stricky footer 就认真的了解学习了一下 但是前两天的问题 今天几种解决方案的详细情况竟然有些模糊 所以还是记录下来吧!求学之路就是这样 不断地积累和重复。

上图底部的 x 就用到了经典的stricky footer 单页面内容足够时 它会向下推送;当页面内容没有撑满整个屏幕时 它就固定在底部。

而不是像下图这样:

问题

如果此前不知道stricky footer 使用fixed固定在底部的话 像下图这样

position: fixed;width: 32px;height: 32px;bottom: 20px;left: calc(50% - 16px);font-size: 32px;

那样 x 会覆盖内容 显然是不符合要求的不实际的 而且不美观的。

所以经典的stricky footer 广为所用 适用情景也非常多 前几天回顾第一次做的项目 发现很多地方适用。

解决方案

stricky footer主要有三种解决方案 我们构建一点简单的代码

<body> <div class="content"></div> <div class="footer"></div></body>

1.为内容区域添加最小的高度

这个方法主要是用视口vh来计算整体视窗的高度 然后减去底部footer的高度 从而得出内容区域的最小高度

.content{ min-height:calc(100vh - `footer的高度`); box-sizing:border-box;}

这种方法很简单 但是如果页面的footer高度不同 每个页面都要重新计算一次 所以并不推荐

2.使用flex布局

flex布局如今在移动端布局可谓是占有一片天地 广为所用。

我们通常利用flex布局对视窗宽度进行分割 一侧是固定宽度 另一侧是自适应宽度。同样的 flex布局当然也可以对对视窗高度进行分割 footer的flex为0 这样flex获得其固有的高度;content的flex为1。这样它会充满除去footer的其余部分

body{ display:flex; flex-flow:column; min-height:100vh;}.content{ flex:1;}.footer{ flex:0;}

这种方法较为推荐

3.在content的外面添加一个wrapper层

这种方法也是黄轶老师使用的方法 在content的外面添加一个wrapper层包裹

<body> <div class="content-wrapper clearfix"> <div class="content"></div> </div> <div class="footer"></div></body>

这种做法为了保证兼容性 我们通常会在wrapper层上添加一个clearfix类

html,body,.content-wrapper{ height:100%}body > .content-wrapper{ height:auto; min-height:100%;}.content{ padding-bottom:150px //与footer的高度相同}.footer{ position:relative; margin-top:-150px; // -`footer高度` height:150px; clear:both;}.clearfix{ display:inline-block;}.clearfix{ content:""; display:block; height:0; clear:both; visibility: hidden;}

这样就完成了stricky footer 这种方法也比较推荐 但是加入的代码有点多 而且改变了HTML结构。

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

来源:爱蒂网