去除隐藏小程序右侧滚动条的两种方法

2024-04-20 16:58

本文主要是介绍去除隐藏小程序右侧滚动条的两种方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这是一篇追求完美的杠精文章


在测试小程序布局时会出现,滚动条穿透的现象,如图

👆某团的滚动条已穿透顶部自定义导航栏

自定义导航栏 一定要用 cover-view、 一定要用 cover-view 、一定要用 cover-view


或是 在一些不需要滚动条 提示页面长度的情况下显示滚动条 这就很难受


所以总结了两个目前确定能用的方法:

1、使用cover-view标签覆盖滚动条

2、使用scroll-view标签绕过滚动条

但各个方法都有各自的局限性

下面进入正题


1、用图层覆盖滚动条

cover-view 标签 在模拟器中虽被滚动条穿透 但真机实测中可以覆盖右侧滚动条 

毕竟人家牛逼到能覆盖原生组件之上的

cover-view 官方介绍 https://developers.weixin.qq.com/miniprogram/dev/component/cover-view.html

上呆🐎

 

页面 wxml

<!-- 覆盖滚动条 -->
<cover-view class='hsb' /><!-- 内容 -->
<view class='box'><block wx:for='{{list}}' wx:key='index'><view class='item' style='background:{{item}}' /></block>
</view>

页面 wxss


/* 覆盖滚动条 */
.hsb {width: 6px;height: 100%;position: fixed;top: 0;right: 0;background: #fff;
}/* 内容盒子 */
.box {padding: 0 10px;
}/* 内容 */
.item {width: 100%;height: 80px;border-radius: 10px;margin: 0 0 10px;opacity: 0.4;
}

页面 js

Page({/*** 生命周期函数--监听页面加载*/onLoad: function(options) {// 获取随机颜色function num() {let num = new String()for (let i = 0; i < 6; i++) {num += Math.floor(Math.random() * 10)}return '#' + num}// 获取随机颜色数组let arr = new Array()for (let i = 0; i < 20; i++) {arr.push(num())}// 视图传值this.setData({list: arr})}})

效果

注:模拟器仍会显示滚动条 但真机已没有滚动条显示

优点:在部分爷爷机上 页面滚动相比用scroll-view标签 滚动会顺畅一些 ,不容易发生内容抖动

缺点:右侧6px宽度已经完全遮住,无法显示全宽度,对界面设计风格有要求


2、绕过页面滚动条

只要内容高度不超过窗口高度就不会显示页面的滚动条

所以设置scroll-view高度等于窗口高度即可,而scroll-view的滚动条可以通过代码设置隐藏

scroll-view 官方介绍 https://developers.weixin.qq.com/miniprogram/dev/component/scroll-view.html

上呆🐎

 

页面wxml

<scroll-view scroll-y style='height:{{h}}px' ><view class='box'><block wx:for='{{list}}' wx:key='index'><view class='item' style='background:{{item}}' /></block></view>
</scroll-view>

页面wxss

/* 隐藏滚动条 */
::-webkit-scrollbar {width: 0;height: 0;color: transparent;
}.box {padding: 0 10px;
}.item {width: 100%;height: 80px;border-radius: 10px;margin: 0 0 10px;opacity: 0.4;
}

页面js

const app = getApp()
Page({data: {h: app.system.windowHeight - 1 //窗口高度 必须-1px 否则某些情况会显示滚动条},/*** 生命周期函数--监听页面加载*/onLoad: function(options) {// 获取随机颜色function num() {let num = new String()for (let i = 0; i < 6; i++) {num += Math.floor(Math.random() * 10)}return '#' + num}// 获取随机颜色数组let arr = new Array()for (let i = 0; i < 20; i++) {arr.push(num())}// 视图传值this.setData({list: arr})}
})

app.js

App({globalData: {},onLaunch: function() {//获取系统信息wx.getSystemInfo({success: res => {this.system = res}})}
})

效果略

注:页面js中 h = app.system.windowHeight - 1 的原因,

        很奇葩的地方是:不减1px 在模拟器上会显示滚动条 真机不显示;减1px后 模拟器上、真机上都不会显示滚动条

        而实测减1px高度对界面没有任何影响,规定统一减1px

优点:界面完全可用

缺点:部分机型视觉上可能会掉帧、抖动


这两种方法各有利弊,开发过程中,如某个页面确实需要隐藏滚动条,可根据不同的特点选择最优方案

 

 

另外我在微信小程序社区问了该问题,但官方的社区技术运营专员给我一个链接参考

地址 https://developers.weixin.qq.com/community/develop/doc/000a024b1a41905d509ac7f1055400

用了文中的方法但没有任何效果,大家可以试一试,踩对坑了别忘分享哦~

 

 

 

 

这篇关于去除隐藏小程序右侧滚动条的两种方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/920815

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

浅谈主机加固,六种有效的主机加固方法

在数字化时代,数据的价值不言而喻,但随之而来的安全威胁也日益严峻。从勒索病毒到内部泄露,企业的数据安全面临着前所未有的挑战。为了应对这些挑战,一种全新的主机加固解决方案应运而生。 MCK主机加固解决方案,采用先进的安全容器中间件技术,构建起一套内核级的纵深立体防护体系。这一体系突破了传统安全防护的局限,即使在管理员权限被恶意利用的情况下,也能确保服务器的安全稳定运行。 普适主机加固措施:

webm怎么转换成mp4?这几种方法超多人在用!

webm怎么转换成mp4?WebM作为一种新兴的视频编码格式,近年来逐渐进入大众视野,其背后承载着诸多优势,但同时也伴随着不容忽视的局限性,首要挑战在于其兼容性边界,尽管WebM已广泛适应于众多网站与软件平台,但在特定应用环境或老旧设备上,其兼容难题依旧凸显,为用户体验带来不便,再者,WebM格式的非普适性也体现在编辑流程上,由于它并非行业内的通用标准,编辑过程中可能会遭遇格式不兼容的障碍,导致操

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti

opencv 滚动条

参数介绍:createTrackbar( trackbarname , "hello" , &alpha_slider ,alpha_max ,  on_trackbar )  ;在标签中显示的文字(提示滑动条的用途) TrackbarName创建的滑动条要放置窗体的名字 “hello”滑动条的取值范围从 0 到 alpha_max (最小值只能为 zero).滑动后的值存放在

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

【VUE】跨域问题的概念,以及解决方法。

目录 1.跨域概念 2.解决方法 2.1 配置网络请求代理 2.2 使用@CrossOrigin 注解 2.3 通过配置文件实现跨域 2.4 添加 CorsWebFilter 来解决跨域问题 1.跨域概念 跨域问题是由于浏览器实施了同源策略,该策略要求请求的域名、协议和端口必须与提供资源的服务相同。如果不相同,则需要服务器显式地允许这种跨域请求。一般在springbo