开头要说的

本文解决的问题是,在使用vue2 使用vant2制作移动端应用时对于tab吸顶问题不能自适应的问题

处理方法

既然是要给tab一个吸顶,那必然是控制吸顶距离随着移动设备长宽变化而变化
在使用rem作为单位的前提下
在页面的style 使用css编写
如果使用scoped编写样式,则需要选择使用以下深度选择器
scss -> ::v-deep
less -> /deep/
css -> >>>

.van-sticky{
  top:1.28rem;/*这里填入你需要吸顶到顶部的距离*/ 
}

即可。

分析

为什么?
使用tab自带的offset-top属性只支持px为单位且无法跟着自适应
怎么找?
在页面的元素中,找到tab可以看到外部自动包一个class为van-sticky的div,接下来修改这个类即可

其他解决办法

其他解决办法可以参考这篇文章,链接在末尾
1.将tab和tabs分开到两个div中
好处:可以自由控制样式
坏处:无法使用tab自带的属性例如滑动切换
2.页面加载时获取需要吸顶距离的大小,通过offset-top动态设置
将需要吸顶的距离的元素header的高+边框+内边距this.$refs.header.offsetHeight赋值给某个变量,再将此变量与offset-top单向数据绑定

参考文章链接:https://www.freesion.com/article/3379901694/

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐