html5 video全屏播放/自动播放的实现示例


Posted in HTML / CSS onAugust 06, 2020

近期开始开发公司新版官网, 首页顶部(header)是一个全屏播放的小视频, 现简单总结如下:

页面代码

<header class="header" style="width:100%;position: relative;">
    <?php if(!Helper::isMobile()) { ?>
    <video id="homeVideo" class="home-video" autoplay loop muted poster="res/video/cover.jpg">
        <source src="res/video/home_video.mp4" type="video/mp4">
    </video>
    <?php } ?>
</header>

其中php简单判断了一下是否是移动设备, 移动设备不展示视频(如果移动端展示的话, 需要解决iOS上无法自动播放的问题):

ps: 如果H5页面主要在微信浏览器中访问,可以解决iOS上视频自动播放的问题:解决iOS h5 audio自动播放(亲测有效)

class Helper {
    public static function isMobile() {
        if (preg_match("/(iPhone|iPod|Android|ios|iPad)/i", $_SERVER['HTTP_USER_AGENT'])) {
            return true;
        } else {
            return false;
        }
    }
}

video标签样式

为了让视频占满整个屏幕, 关键在于video标签样式的设置:

.home-video {
    z-index: 100;
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    object-fit: fill;/*这里是关键*/
    width: auto;
    height: auto;
    -ms-transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    background: url(../video/cover.jpg) no-repeat;
    background-size: cover;
}

视频跟随浏览器窗口大小的改变:

$('.home-video').height(window.innerHeight);
$('.header').height(window.innerHeight);
$(window).resize(function() {
    $('.home-video').attr('height', window.innerHeight);
    $('.home-video').attr('width', window.innerWidth);
    $('.header').height(window.innerHeight);
});

页面加载完成再次触发播放,防止autoplay未生效

document.getElementById('homeVideo').play();

到此这篇关于html5 video全屏播放/自动播放的实现示例的文章就介绍到这了,更多相关html5 video全屏播放/自动播放内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

HTML / CSS 相关文章推荐
深入浅出CSS3 background-clip,background-origin和border-image教程
Jan 27 HTML / CSS
纯css3实现鼠标经过图片显示描述的动画效果
Sep 01 HTML / CSS
实例教程 一款纯css3实现的数字统计游戏
Nov 10 HTML / CSS
animation和transition的区别
Oct 12 HTML / CSS
canvas绘制表情包的示例代码
Jul 09 HTML / CSS
html5的新玩法——语音搜索
Jan 03 HTML / CSS
canvas 实现 github404动态效果的示例代码
Nov 15 HTML / CSS
html5中audio支持音频格式的解决方法
Aug 24 HTML / CSS
总结html5自定义属性有哪些
Apr 01 HTML / CSS
canvas绘制树形结构可视图形的实现
Apr 03 HTML / CSS
AmazeUI 评论列表的实现示例
Aug 13 HTML / CSS
HTML中table表格拆分合并(colspan、rowspan)
Apr 07 HTML / CSS
HTML5 通过Vedio标签实现视频循环播放的示例代码
Aug 05 #HTML / CSS
Html5饼图绘制实现统计图的方法
Aug 05 #HTML / CSS
Canvas 帧动画吃苹果小游戏
Aug 05 #HTML / CSS
HTML5 video进入全屏和退出全屏的实现方法
Jul 28 #HTML / CSS
canvas实现图片镜像翻转的2种方式
Jul 22 #HTML / CSS
html5关于外链嵌入页面通信问题(postMessage解决跨域通信)
Jul 20 #HTML / CSS
HTML5跳转小程序wx-open-launch-weapp的示例代码
Jul 16 #HTML / CSS
You might like
PHP IN_ARRAY 函数使用注意事项
2010/07/24 PHP
Windows下利用Gvim写PHP产生中文乱码问题解决方法
2011/04/20 PHP
PHP、Python和Javascript的装饰器模式对比
2015/02/03 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
2017/07/10 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
2019/10/21 PHP
动态改变textbox的宽高的js
2006/10/26 Javascript
jQuery AnythingSlider滑动效果插件
2010/02/07 Javascript
javascript中获取下个月一号,是星期几
2012/06/01 Javascript
js 3秒后跳转页面的实现代码
2014/03/10 Javascript
三种动态加载js的jquery实例代码另附去除js方法
2014/04/30 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
2015/02/26 Javascript
JavaScript实现简单获取当前网页网址的方法
2015/11/09 Javascript
深入理解JavaScript中为什么string可以拥有方法
2016/05/24 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
2016/10/10 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
2017/04/27 Javascript
小程序云函数调用API接口的方法
2019/05/17 Javascript
layui表格 返回的数据状态异常的解决方法
2019/09/10 Javascript
Vue-cli3项目引入Typescript的实现方法
2019/10/18 Javascript
Python中用Descriptor实现类级属性(Property)详解
2014/09/18 Python
python实现图片处理和特征提取详解
2017/11/13 Python
caffe binaryproto 与 npy相互转换的实例讲解
2018/07/09 Python
33个Python爬虫项目实战(推荐)
2019/07/08 Python
Python3.6安装卸载、执行命令、执行py文件的方法详解
2020/02/20 Python
Python selenium爬取微博数据代码实例
2020/05/22 Python
Zavvi荷兰:英国大型音像制品和图书游戏零售商
2018/03/22 全球购物
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
波兰快递服务:Globkurier.pl
2019/11/08 全球购物
大学生通用个人的自我评价
2014/02/10 职场文书
经济担保书范文
2014/04/02 职场文书
《金子》教学反思
2014/04/13 职场文书
施工单位安全责任书
2014/07/24 职场文书
会计试用期自我评价怎么写
2014/09/18 职场文书
党员示范岗材料
2014/12/19 职场文书
2016年元旦致辞
2015/08/01 职场文书
德劲DE1105机评
2022/04/05 无线电
类和原型的设计模式之复制与委托差异
2022/07/07 Javascript