前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >移动端解决悬浮层(悬浮header、footer)会遮挡住内容的方法

移动端解决悬浮层(悬浮header、footer)会遮挡住内容的方法

作者头像
TimothyJia
发布2022-05-05 16:16:36
1.2K0
发布2022-05-05 16:16:36
举报

固定Footer

Bootstrap框架提供了两种固定导航条的方式:

   ☑  .navbar-fixed-top:导航条固定在浏览器窗口顶部

   ☑  .navbar-fixed-bottom:导航条固定在浏览器窗口底部

使用方法很简单,只需要在制作导航条最外部容器navbar上追加对应的类名即可:

实现原理:

实现原理很简单,就是在navbar-fixed-top和navbar-fixed-bottom使用了position:fixed属性,并且设置navbar-fixed-top的top值为0,而navbar-fixed-bottom的bottom值为0。具体的源码如下:

/源码请查看bootstrap.css文件第3717 行~第3738行/

代码语言:javascript
复制
.navbar-fixed-top,.navbar-fixed-bottom {  position: fixed;  right: 0;  left: 0;  z-index: 1030;}@media (min-width: 768px) {.navbar-fixed-top,.navbar-fixed-bottom {  border-radius: 0;  }}.navbar-fixed-top {  top: 0;  border-width: 0 0 1px;}.navbar-fixed-bottom {  bottom: 0;  margin-bottom: 0;  border-width: 1px 0 0;}

存在bug及解决方法:

从运行效果中大家不难发现,页面主内容顶部和底部都被固定导航条给遮住了。为了避免固定导航条遮盖内容,我们需要在body上做一些处理:

法一:​

代码语言:javascript
复制
body {  padding-top: 70px; padding-bottom: 70px;}

因为固定导航条默认高度是50px,我们一般设置padding-top和padding-bottom的值为70px,当然有的时候还是需要具体情况具体分析。

法二:

其实除了这种解决方案之外,我们还有其他的解决方法,把固定导航条都放在页面内容前面:

代码语言:javascript
复制
 …
 …

我是内容

在文件中添加下列样式代码:

代码语言:javascript
复制
.navbar-fixed-top ~ .content {   padding-top: 70px;}.navbar-fixed-bottom ~ .content {  padding-bottom: 70px;}
代码语言:javascript
复制
法三.增加同级占位符

  个人认为这个方法最为实用,在块之外再包裹一层div,然后再增加一个与同级的

块,这个

块的高度设置为与同样高,不包含任何内容,这样就可以起到一个占位符的效果,在页面最底占据与同样高度的空间,当然页面滑到最下方,原本的悬动块就会与这个占位块完美重叠。且不会对其他页面产生影响。代码如下:

  唯一缺点是不符合语义化,增加了无实质内容的空标签。

复制代码

代码如下:

回复主题

附footer的一般写法:

```css.footer { position: fixed; right: 0; left: 0; z-index: 1030; bottom: 0;margin-bottom: 0; border-width: 1px 0 0;}

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档