使用object-fit:fill做视频填满-css难点
.move {position: absolute;left: 0;top: 0;right: 0;width: 100%;overflow-x: hidden;z-index: 2;video {height: 100vh;}}@media only screen and (min-width: 1200px) {.page {.move {object-fit:fill;video {width: 100%;height: 100%;}}}}
处理在移动端视频自动播放
<div class="move"><video id="video-content" muted autoplay="true" loop="loop"><sourcesrc="https://www.hashnest.com/video/pool.mp4"type="video/mp4"/></video></div>
muted
基于谷歌的安全性校验机制,可以允许自动播放,但是自动播放默认静音, 在chrome上测试良好
在移动端真机查看时, 背景视频卡住,无法自动播放,经过多次调试发现少了属性
playsinline -自动在原来文档流内播放
<video id="video-content" muted autoplay="true" loop="loop" playsinline><sourcesrc="https://www.hashnest.com/video/pool.mp4"type="video/mp4"/></video>
开发细节完善
一般而言10s以上的视频,需要2s左右的加载时间, 所以初始进入网页可能会造成卡顿
我们可以加入加载loading, 通过监听视频是否加载完成,决定loading的变量修改的时间
<div class="loading" v-show="state.loading"><img src="@/assets/favicon.jpeg" alt="" /><span>Cloud Mining</span><n-spin size="large" stroke="#000000"/></div>
state.loading = true;onMounted(() => {var vid = document.getElementById("myVideo");vid.oncanplaythrough = function () {state.loading = false};});


