最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

strickyfooter的解决方法小结

来源:懂视网 责编:小OO 时间:2020-11-27 18:49:21
文档

strickyfooter的解决方法小结

这些天做vue+express实战的练习,跟着黄轶老师倒是认识了stricky footer,就认真的了解学习了一下,但是前两天的问题,今天几种解决方案的详细情况竟然有些模糊,所以还是记录下来吧。求学之路就是这样,不断地积累和重复。上图底部的 x 就用到了经典的stricky footer,单页面内容足够时,它会向下推送;当页面内容没有撑满整个屏幕时,它就固定在底部。而不是像下图这样。问题;如果此前不知道stricky footer,使用fixed固定在底部的话,像下图这样。;
推荐度:
导读这些天做vue+express实战的练习,跟着黄轶老师倒是认识了stricky footer,就认真的了解学习了一下,但是前两天的问题,今天几种解决方案的详细情况竟然有些模糊,所以还是记录下来吧。求学之路就是这样,不断地积累和重复。上图底部的 x 就用到了经典的stricky footer,单页面内容足够时,它会向下推送;当页面内容没有撑满整个屏幕时,它就固定在底部。而不是像下图这样。问题;如果此前不知道stricky footer,使用fixed固定在底部的话,像下图这样。;
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>
 <p class="content"></p>
 <p class="footer"></p>
</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>
 <p class="content-wrapper clearfix">
 <p class="content"></p>
 </p>
 <p class="footer"></p>
</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结构。

文档

strickyfooter的解决方法小结

这些天做vue+express实战的练习,跟着黄轶老师倒是认识了stricky footer,就认真的了解学习了一下,但是前两天的问题,今天几种解决方案的详细情况竟然有些模糊,所以还是记录下来吧。求学之路就是这样,不断地积累和重复。上图底部的 x 就用到了经典的stricky footer,单页面内容足够时,它会向下推送;当页面内容没有撑满整个屏幕时,它就固定在底部。而不是像下图这样。问题;如果此前不知道stricky footer,使用fixed固定在底部的话,像下图这样。;
推荐度:
标签: 解决 的方式 的方
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top