IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 解决微信小程序的video元素层级太高无法遮盖问题 -> 正文阅读

[移动开发]解决微信小程序的video元素层级太高无法遮盖问题

解决微信小程序的video元素层级太高无法遮盖和show-play-btn属性失效问题

今天在项目中遇到了这个问题,需要在微信小程序中用视频作为背景,微信开发者工具中模拟的没问题,真机调试就发现video的层级太高,其他元素设置 z-index 都低于 video

微信官方文档提供的解决办法

因为微信小程序的 video 原生组件层级太高,无法用 z-index 层叠。所以可以使用 <cover-view> <cover-image> 作为覆盖在原生组件之上的文本视图元素

可覆盖的原生组件包括 map、video、canvas、camera、live-player、live-pusher

比如,我要在登录页面的底层给一个video(使用了uni-app框架)

			<video class="login-video" object-fit="cover" :muted="true" :autoplay="true" :loop="true" :src="videoSrc"
				:show-fullscreen-btn="false" :enable-progress-gesture="false" :show-progress="false"
				:show-play-btn="false" :show-center-play-btn="false" bindplay="onPlay">
				
				<cover-image class="login-img" :src="videoFrameSrc" mode="aspectFill" v-if="!showVideo" />
				<cover-view class="login-bg-mask"></cover-view>
				<cover-view class="title-text">
					<cover-image class="image" :src="imgSrc[0]" mode="aspectFill"></cover-image>
					<cover-view class="text">未来的路,有我伴你同行</cover-view>
				</cover-view>
				
				<cover-view class="center-box">
					<cover-view class="register-verify-tip">未注册手机验证后即完成注册</cover-view>
					<cover-view class="input-el"></cover-view>
					<cover-image class="phone" :src="imgSrc[1]" mode="aspectFill"></cover-image>
					<cover-view class="input-text">请输入手机号码</cover-view>
					<cover-view class="verify-el"></cover-view>
					<cover-view class="verify-text" @click="goto('/pages/secondary/getCode/index')">获取验证码</cover-view>
					<cover-view class="bottom-box" open-type="getUserInfo" @click="wxLogin">
						<cover-image class="weixin-icon" :src="imgSrc[2]" mode="aspectFill">
						</cover-image>
						<cover-view class="weixin-text">微信一键登录</cover-view>
					</cover-view>
				</cover-view>
			</video>

就像这样,在 video 组件内部使用 <cover-view> <cover-image> 来代替 <view> <image> 就可以把 cover-view 内部的元素显示在 video 元素之上

防止踩坑

要为每一个 <cover-view> <cover-image> 设置样式!!! 这是血淋淋的教训,我调试了三个小时找bug

Gif效果图

在这里插入图片描述

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-01-17 11:36:04  更:2022-01-17 11:37:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:51:29-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码