当前位置:网站首页>vant tabbar遮挡内容的解决方式
vant tabbar遮挡内容的解决方式
2022-07-05 15:21:00 【Joy_917】
前面我们提到,使用vant-tabbar 来替换原生的tabbar,但是实际使用中发现,当tab页内容过多之后,tabbar会遮挡页面最下方的内容
直接上图:
我们会发现,两个按钮消失了,从 2 处可以看到,屏幕右侧的 scroll 越过了 tabbar 一栏,说明内容是被遮挡住了,确实滑到了底部但是看不到按钮。
为什么会这样呢?小程序的自定义组件,是通过 slot 的方式将内容注入进去再渲染出来的,而 vant-tabbar 组件是 通过 cover-view 的形式 覆盖在原生组件之上的视图 ,它并不是通常意义上的引用组件,所以和内容元素并不是同级关系。
开始我想既然被 tabbar cover 住了一块区域,那我找到 tabbar 组件的高度,然后把底部元素顶上去不就好了吗?
如上图,确实找到了,vant默认是50px,不过固定效果堪忧,大家感兴趣的可以试一下。我猜测是由于组件底部还有一段安全距离,所以这个 height 并不完全等于 tabbar 的占用高度,其次也会受机型影响。
期间也试了另一种方式,用 scroll-view 标签包裹住内容,然后设定一个固定高度,比如 500px,这样滑动内容不受 tabbar 影响,因为区域不相交。但是同样的也受机型影响。
所以最终还是选用百分比的形式顶上去一段距离,也就是:
<view style="padding-bottom: 25%;"></view>
看下实际效果:
测了大部分机型还算ok。缺点就是每一个有 tabbar 的页面,都需要加一个空 view,不太优雅。所以我考虑能否直接修改自定义组件,在 slot 前后直接加上空 view,或者直接设置 slot 的样式控制内部元素,不过都没效果,所以作罢。
只能尽量使用跳转新页面并隐藏 tabbar 来避免这种情况。后面如果发现更好的方式,会同步更新,也欢迎大佬告知,感谢~
完整代码放到了github上,持续更新中,欢迎 star 支持:https://github.com/Joy917/signgo
边栏推荐
- Ionic Cordova project modification plug-in
- Noi / 1.3 01: a+b problem
- Value series solution report
- 数学建模之层次分析法(含MATLAB代码)
- Codasip adds verify safe startup function to risc-v processor series
- Advanced level of static and extern
- Common PHP interview questions (1) (written PHP interview questions)
- MySQL表字段调整
- 2.3 learning content
- 20.[STM32]利用超声波模块和舵机实现智能垃圾桶功能
猜你喜欢
Good article inventory
Huawei Hubble incarnation hard technology IPO harvester
Nine hours, nine people, nine doors problem solving Report
First PR notes
P6183 [USACO10MAR] The Rock Game S
MySQL overview
verilog实现计算最大公约数和最小公倍数
I spring web upload
Anti shake and throttling
Your childhood happiness was contracted by it
随机推荐
Nine hours, nine people, nine doors problem solving Report
Can gbase 8A view the location of SQL statement history?
Bugku telnet
P6183 [USACO10MAR] The Rock Game S
Codasip为RISC-V处理器系列增加Veridify安全启动功能
ionic cordova项目修改插件
Bugku cyberpunk
verilog实现计算最大公约数和最小公倍数
Appium自动化测试基础 — APPium基础操作API(一)
How difficult is it to pass the certification of Intel Evo 3.0? Yilian technology tells you
Data communication foundation - Ethernet port mirroring and link aggregation
复现Thinkphp 2.x 任意代码执行漏洞
Data communication foundation NAT network address translation
Why should we learn mathematical modeling?
17.[STM32]仅用三根线带你驱动LCD1602液晶
Bugku easy_ nbt
修改pyunit_time使得其支持‘xx~xx月’的时间文本
【簡記】解决IDE golang 代碼飄紅報錯
OSI 七层模型
Value series solution report