Vue登录主页动态背景短视频制作本⽂实例为⼤家分享了Vue制作登录主页动态背景短视频的具体代码,供⼤家参考,具体内容如下⼀、HTML代码
<source src="../assets/video/G1s.mp4" type="video/mp4"/>
注:src的路径根据⾃⼰的需要改变;
video标签⽆法⾃动播放刷新后⽆法⾃动播放;
解决⽅法:给video标签添加muted属性,可写为muted或完整写法:muted=“muted”
<template>
<div class="homepage-hero-module">
<div class="video-container">
<div : class="filter">
<!--内容-->
</div>
<video : autoplay loop muted class="fillWidth" v-on:canplay="canplay">html首页制作
<source src="../assets/video/G1s.mp4" type="video/mp4"/>
浏览器不⽀持 video 标签,建议升级浏览器。
<source src="../assets/video/G1w.webm" type="video/webm"/>
浏览器不⽀持 video 标签,建议升级浏览器。
</video>
<div class="poster hidden" v-if="!vedioCanPlay">
<img : src="../assets/video/G1.jpg" alt="">
</div>
</div>
</div>
</template>
⼆、css代码
<style scoped>
.homepage-hero-module,
.video-container {
position: relative;
height: 100vh;
overflow: hidden;
}
.video-container .poster img{
z-index: 0;
position: absolute;
}
.video-container .filter {
z-index: 1;
position: absolute;
background: rgba(0, 0, 0, 0.4);
width: 100%;
}
.fillWidth {
width: 100%;
}
</style>
三、JavaScript----代码
name: '  ***  '  ⾃定义
export default {
name: 'Video',
data() {
return {
vedioCanPlay: false,
fixStyle: ''
}
},
methods: {
canplay() {
this.vedioCanPlay = true
}
},
mounted: function() { //屏幕⾃适应
const windowWidth = document.body.clientWidth
const windowHeight = document.body.clientHeight
const windowAspectRatio = windowHeight / windowWidth
let videoWidth
let videoHeight
if (windowAspectRatio < 0.5625) {
videoWidth = windowWidth
videoHeight = videoWidth * 0.5625
this.fixStyle = {
height: windowWidth * 0.5625 + 'px',
width: windowWidth + 'px',
'margin-bottom': (windowHeight - videoHeight) / 2 + 'px',
'margin-left': 'initial'
}
} else {
videoHeight = windowHeight
videoWidth = videoHeight / 0.5625
this.fixStyle = {
height: windowHeight + 'px',
width: windowHeight / 0.5625 + 'px',
'margin-left': (windowWidth - videoWidth) / 2 + 'px',
'margin-bottom': 'initial'
}
}
}
}
}
四、效果演⽰
由于上传⼤⼩限制,只能剪短的gif动画了。
五、HTML版
以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。