移动端 video播放器层级过高,遮挡住其他内容

在移动端使用video标签时,遇到了视频遮挡导航栏的问题。经过研究发现,网上普遍建议添加x5-video-player-type='h5'的解决办法并不奏效。实际上,正确的方法是避免同时使用x5-video-player-type='h5'和x5-playsinline属性。通过调整视频标签的样式和属性设置,如添加webkit-playsinline和x5-video-orientation属性,最终成功解决了视频播放时遮挡导航栏的难题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用video在移动端遇到,点击导航栏,视频把导航给遮挡住了,差了好多文档。最后终于解决了

百度一堆都是说加x5-video-player-type="h5"属性,其实不然,正确的写法是.

<video  class="video-js vjs-default-skin vjs-big-play-centered" x-webkit-airplay="true"  webkit-playsinline="true"  x5-video-player-type="h5" x5-video-orientation="portraint" controls preload="auto" style="object-fit:fill; width:100%; height: 194px;border-radius: 5px;overflow: hidden;" data-setup='{}'>      
                    <source id="source" src="https://video.shenxuanche.com/transcode_sxc_42dbdef6-68e5-a606-a562-dfe8b4e478e7_720p.mp4">  
                </video> 

 

 注意: x5-video-player-type="h5不要与x5-playsline同时存在

转自:https://blog.csdn.net/Cold__Star/article/details/109571881

<template> <video > <source src='..\public\img\bg.mp4' type="video/mp4"></source> </video> <h1>小组成员展示</h1> <div class="one"> <div class="gao"></div> <h3>豪东</h3> <p><b>111</b></p> </div> <div class="two"> <img class="b" src='..\public\img\b.jpg'> <div class="su"></div> <h3>苏恒一</h3> <p><b>宇宙超级无敌大帅哥</b></p> </div> <div class="three"> <div class="wen"></div> <h3>文建峰</h3> <p><b>333</b></p> </div> <div class="four"> <div class="zhen"></div> <h3>郑新</h3> <p><b>瓦学弟,沉迷于无畏契约</b></p> </div> <div class="five"> <div class="li"></div> <h3>李桐</h3> <p><b>金铲铲运营大师,埋头干饭的米饭仙人</b></p> </div> </template> <script setup> </script> <style lang="css" scoped> h1 { text-align: center; } p { text-indent: 2em; margin: 15px; } video { margin-top: -30px; margin-left: -10px; height: 900px; z-index: -1; position: absolute; } /* 第一个///////////////////////////////////////////////////////////////////////////////////////// */ .one { float: left; text-align: center; margin: 30px; height: 300px; width: 400px; background-color: rgba(246, 61, 61, 0.2); border-radius: 50px 50px 50px 50px; } /* 头像 */ .gao { height: 80px; width: 80px; border-radius: 50px 50px 50px 50px; margin-left: 160px; margin-top: 10px; margin-bottom: -20px; background-image: url('..\public\img\gao.jpg'); background-size: cover; background-position: center center; background-repeat: no-repeat; } /* 第二个 */ .two { float: left; text-align: center; margin: 30px; height: 300px; width: 400px; background-color: rgba(255, 101, 234, 0.2); border-radius: 50px 50px 50px 50px; } /* 头像 */ .su { height: 80px; width: 80px; border-radius: 50px 50px 50px 50px; margin-left: 160px; margin-top: 10px; margin-bottom: -20px; background-image: url('..\public\img\su.jpg'); background-size: cover; background-position: center center; background-repeat: no-repeat; } .b { height: 60px; width: 220px; margin-left: 25px; transform: rotate(35deg); position: absolute; } /* 第三个 */ .three { float: left; text-align: center; margin: 30px; height: 300px; width: 400px; background-color: rgba(81, 205, 254, 0.2); border-radius: 50px 50px 50px 50px; } /* 头像 */ .wen { height: 80px; width: 80px; border-radius: 50px 50px 50px 50px; margin-left: 160px; margin-top: 10px; margin-bottom: -20px; background-image: url('..\public\img\wen.jpg'); background-size: cover; background-position: center center; background-repeat: no-repeat; } /* 第四个 */ .four { float: left; text-align: center; margin: 30px; height: 300px; width: 400px; background-color: rgba(132, 252, 77, 0.2); border-radius: 50px 50px 50px 50px; } /* 头像 */ .zhen { height: 80px; width: 80px; border-radius: 50px 50px 50px 50px; margin-left: 160px; margin-top: 10px; margin-bottom: -20px; background-image: url('..\public\img\zhen.jpg'); background-size: cover; background-position: center center; background-repeat: no-repeat; } /* 第五个 */ .five { float: left; text-align: center; margin: 30px; height: 300px; width: 400px; background-color: rgba(249, 197, 76, 0.2); border-radius: 50px 50px 50px 50px; } /* 头像 */ .li { height: 80px; width: 80px; border-radius: 50px 50px 50px 50px; margin-left: 160px; margin-top: 10px; margin-bottom: -20px; background-image: url('..\public\img\li.jpg'); background-size: cover; background-position: center center; background-repeat: no-repeat; } </style>我的视频背景怎么没有自动播放
03-10
<think>好的,我需要帮助用户解决视频背景无法自动播放的问题。首先,我得仔细看看用户提供的代码,找出可能的问题所在。 用户提供的HTML结构中,有一个video标签,里面包含了一个source标签指向bg.mp4。但注意到用户使用的是反斜杠路径,比如src='..\public\img\bg.mp4'。在Web开发中,路径通常应该使用正斜杠(/)而不是反斜杠(\),尤其是在HTML和URL中。这可能导致浏览器无法正确解析路径,从而找不到视频文件。所以第一步要确认路径是否正确,建议用户将反斜杠改为正斜杠。 接下来,视频没有自动播放。根据HTML5 video标签的属性,自动播放需要添加autoplay属性。不过现在很多浏览器为了用户体验,限制了自动播放功能,通常需要视频设置为静音(muted)才能自动播放。查看用户的代码,video标签里没有autoplay和muted属性,这可能是主要原因。需要建议用户添加这两个属性,同时检查是否需要playsinline属性,以便在移动端正常播放。 另外,用户的video标签的样式设置了z-index为-1,这可能会将视频置于其他元素的下层,导致被覆盖。虽然用户的问题是没有播放,但布局问题也可能影响显示。需要提醒用户调整z-index,确保视频在正确层级,不被其他元素遮挡。 总结可能的解决方案步骤:修正路径中的反斜杠,添加autoplay、muted和playsinline属性,调整z-index,并确保视频文件存在且路径正确。此外,用户可能需要处理浏览器策略,比如用户交互后允许播放,或者确保服务器配置正确,视频格式支持等。最后,建议用户测试不同的浏览器,查看是否存在兼容性问题。</think>你的视频背景无法自动播放可能有以下几个原因,我们来逐步排查和解决: $\color{red}{路径问题}$ 1. 路径中的反斜杠`\`需要改为正斜杠`/` ```html <!-- 修改前 --> <source src='..\public\img\bg.mp4' type="video/mp4"></source> <!-- 修改后 --> <source src="../public/img/bg.mp4" type="video/mp4"> ``` $\color{red}{缺少自动播放属性}$ 2. 需要添加`autoplay`和`muted`属性(现代浏览器要求静音才能自动播放) ```html <video autoplay muted playsinline> <source src="../public/img/bg.mp4" type="video/mp4"> </video> ``` $\color{red}{层级问题}$ 3. `z-index: -1`会导致视频被其他元素覆盖,建议调整为: ```css video { z-index: 0; /* 改为非负值 */ position: fixed; /* 推荐使用fixed定位 */ width: 100vw; height: 100vh; object-fit: cover; } ``` $\color{red}{补充建议}$ 1. 添加`playsinline`属性确保在移动端正常播放 2. 验证视频文件是否真实存在于指定路径 3. 检查浏览器控制台是否有404错误或CORS报错 4. 如果部署在服务器,需要配置正确的MIME类型 完整修改建议: ```html <video autoplay muted playsinline style="width:100%; height:100%"> <source src="../public/img/bg.mp4" type="video/mp4"> </video> ``` $\color{blue}{扩展知识}$ 现代浏览器为防止骚扰,要求至少满足以下条件之一才能自动播放: $$ \text{autoplay} \land (\text{muted} \lor \text{user-interaction}) $$ 建议始终添加`muted`属性以确保自动播放成功。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值