foot rocker怎么使用(stricky footer的三种解决方案详解)
foot rocker怎么使用
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> <li class="content"></li> <li class="footer"></li> </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> <li class="content-wrapper clearfix"> <li class="content"></li> </li> <li class="footer"></li> </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结构。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
- 史上最全的css布局教程(详解CSS经典布局之Sticky footer布局)
- foot rocker怎么使用(stricky footer的三种解决方案详解)
- stickline如何向前移动(使用常见的sticky footer布局方式)
- 官宣 全椒籍明星许海峰 奚秀兰 方芳 王璐瑶携手回家 走太平(全椒籍明星许海峰)
- 以前全椒人是怎么过冬的 满满都是回忆(以前全椒人是怎么过冬的)
- NVIDIA显卡份额冲上88 A饭发愁 游戏优化恐没A卡份了(NVIDIA显卡份额冲上88A饭发愁)
- AMD YES A卡还是N卡 A卡和N卡的区别(AMDYESA卡还是N卡)
- 以后显卡多了一个新选择,N卡和A卡外又多了个I卡(以后显卡多了一个新选择)
- 读卖乐园的彩灯(读卖乐园的彩灯)
热门推荐
- mysqldump 命令详解(mysqldump你可能不知道的参数)
- jquery 选择器的用法
- docker管理脚本(Docker可视化ui管理工具Portainer安装及使用解析)
- 云服务器租用应该注意哪些事项(云服务器托管需要注意的细节)
- python class转json(Python对象转换为json的方法步骤)
- Sql Server锁的粒度
- python怎么在csv修改数据(python 编写输出到csv的操作)
- laravel图文分离(laravel实现前后台路由分离的方法)
- mysql默认的事务隔离级别是哪一种(MySql学习笔记之事务隔离级别详解)
- html5 webrtc技术详解(Html5 webRTC简单实现视频调用的示例代码)