<view style="position: relative;">
<video style="position: absolute;z-index:-1"></video>
<view style="position: absolute;z-index:999"></view>
</view>
上面代码并没有解决view的层级比video高的问题,普通的view无法设置z-index层级比video高,在翻uniapp的官网的时候,发现一个标签可以解决。
官网原话:
-
<video/>
组件在非H5端是原生组件,层级高于普通前端组件,覆盖其需要使用cover-view组件或plus.nativeObj.view、subNVue。微信基础库 2.4.0+和抖音小程序 已支持 video 组件的同层渲染,也就是video在非全屏时,可以被前端元素通过调节z-index来遮挡,但video全屏时,仍需要cover-view覆盖。
覆盖在原生组件上的文本视图。
app-vue和小程序框架,渲染引擎是webview的。但为了优化体验,部分组件如map、video、textarea、canvas通过原生控件实现,原生组件层级高于前端组件(类似flash层级高于div)。为了能正常覆盖原生组件,设计了cover-view。
<view style="position: relative;">
<video style="position: absolute;z-index:-1"></video>
<cover-view style="position: absolute;z-index:999"></cover-view>
</view>
改成上面这样即可