解决小程序和app滚动条的问题--uniapp踩坑

7 篇文章 0 订阅
5 篇文章 0 订阅

这是uniapp官方提供的:

属性名类型默认值说明平台差异说明
show-scrollbarBooleanfalse控制是否出现滚动条App-nvue 2.1.5+

问题:

小程序和APP都是用使用scroll-view标签,代码相同,但是效果不同,就觉得很离谱,出现了两类情况,有种两权分立的感觉哈,下面是四种测试情况:

        1)手机型号:iphone 12  系统版本:ios 15.6.1 小程序查看如图一正常无滚动条,而APP查看如图二滚动条出现

        2)手机型号:iphone 13  系统版本:ios 15.6.1 小程序查看如图一正常无滚动条,而APP查看如图二滚动条出现

        3)手机型号:Huawei p20  系统版本:harmonyOS 2.0.0 小程序查看如图二滚动条出现,而APP查看如图一正常无滚动条

        4)手机型号:Redmi K20 pro  系统版本:MIUI 12.5.6 小程序查看如图二滚动条出现,而APP查看如图一正常无滚动条

图一: 图二:

<!-- 小程序和app都是使用同样代码 -->
<!-- 这里:show-scrollbar="false"不生效 -->
<scroll-view @scroll="changeScroll" :show-scrollbar="false" :enable-flex="true" :scroll-x="true" class="card_swiper">
	<view class="item" v-for="(item,index) in mallIndex" :key="index" @click="toDetailClassify(item.id,item.name,item)">
		<image mode="widthFix" class="item_img" :src="item.icon" />
		<view>{{item.name}}</view>
	</view>
</scroll-view>

方案:到这里觉得很离谱,又进了uniapp的坑,但也没办法还是要解决的,于是百度试了很多方法,还是下面这个方法好用有效

找到项目的App.vue文件在style标签里面添加如下代码,根据不同平台控制不同标签的属性。

<style lang='scss'>
	/*每个页面公共css */
	/* 解决小程序和app滚动条的问题 */
	/* #ifdef MP-WEIXIN || APP-PLUS */
	::-webkit-scrollbar {
		display: none;
		width: 0 !important;
		height: 0 !important;
		-webkit-appearance: none;
		background: transparent;
		color: transparent;
	}
	/* #endif */

	/* 解决H5 的问题 */
	/* #ifdef H5 */
	uni-scroll-view .uni-scroll-view::-webkit-scrollbar {
		/* 隐藏滚动条,但依旧具备可以滚动的功能 */
		display: none;
		width: 0 !important;
		height: 0 !important;
		-webkit-appearance: none;
		background: transparent;
		color: transparent;
	}
	/* #endif */
</style>

最后运行测试:无论在小程序还是APP,无论什么手机都不再出现滚动条了,如图

参考博客:uniapp中如何隐藏scroll-view的滚动条

  • 9
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值