网页播放视频,video标签小结
目前网站使用的video 标签:
<div class="video-wrap">
<video width="100%" id="video_151424066_video" preload="metatdata" poster="//commondata.yunnan.cn/video/ynsp.jpg" x5-playsinline="" playsinline="" webkit-playsinline=""><source src="//news.yunnan.cn/video/003/014/656/00301465600_vw00000000000001_b6cdcdcf.mp4" type="video/mp4"></video>
<div class="play-btn" data-vid="video_151424066_video"></div>
</div>
.video-wrap {
position: relative;
}
.play-btn {
width: 50px;
height: 50px;
position: absolute;
left: 50%;
top: 50%;
transform: translateX(-50%) translateY(-50%);
background: rgba(0,0,0,.6);
border-radius: 50%;
}
.play-btn:after {
content: "";
display: block;
width: 0;
height: 0;
border: 10px solid transparent;
border-left-width: 20px;
border-left-color: #fff;
border-width: 10px 0 10px 15px;
position: absolute;
top: 50%;
left: 50%;
transform: translateX(-50%) translateY(-50%);
}
$('.play-btn').click(function(){
var id = $(this).attr('data-vid');
var vid = document.getElementById(id);
$('#' + id).attr('controls', 'controls');
$(this).remove();
vid.play();
});
一个video标签就搞定的事情为啥多了这么多代码?
主要是为了兼容iOS和android手机不同的样式,单个video标签在不同系统中显示不一致,将默认样式都取消掉
两个注意的点:video标签里面没有加controls="controls"属性,preload=“metadata”,不加controls是为了不显示按钮,让视频纯粹显示为poster的图片,preload用metadata是因为如果用autoload在pc上会不显示poster。