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 相关文章推荐
表单button的outline在firefox浏览器下的问题
Dec 24 HTML / CSS
CSS3 transform的skew属性值图文详解
Jul 21 HTML / CSS
CSS中垂直居中的简单实现方法
Jul 06 HTML / CSS
HTML5 Canvas概述
Aug 26 HTML / CSS
HTML5标签与HTML4标签的区别示例介绍
Jul 18 HTML / CSS
HTML5 canvas画矩形时出现边框样式不一致的解决方法
Oct 14 HTML / CSS
HTML5 Video/Audio播放本地文件示例介绍
Nov 18 HTML / CSS
html5定位获取当前位置并在百度地图上显示
Aug 22 HTML / CSS
HTML5+CSS3:3D展示商品信息示例
Jan 03 HTML / CSS
h5网页水印SDK的实现代码示例
Feb 19 HTML / CSS
HTML5跳转小程序wx-open-launch-weapp的示例代码
Jul 16 HTML / CSS
css3中transform属性实现的4种功能
Aug 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 图像尺寸调整代码
2010/05/26 PHP
深入解析PHP内存管理之谁动了我的内存
2013/06/20 PHP
php操作MongoDB类实例
2015/06/17 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
JavaScript RegExp方法获取地址栏参数(面向对象)
2009/03/10 Javascript
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
2009/10/24 Javascript
给jqGrid数据行添加修改和删除操作链接(之一)
2011/11/04 Javascript
javascript和jquery修改a标签的href属性
2013/12/16 Javascript
JavaScript极简入门教程(三):数组
2014/10/25 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
2016/08/08 Javascript
ECMAScript6变量的解构赋值实例详解
2017/09/19 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
2019/05/07 Javascript
手把手教您实现react异步加载高阶组件
2020/04/07 Javascript
js+canvas实现转盘效果(两个版本)
2020/09/13 Javascript
[38:44]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第二局
2016/02/25 DOTA
python模拟登陆Tom邮箱示例分享
2014/01/13 Python
python基于urllib实现按照百度音乐分类下载mp3的方法
2015/05/25 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
PYQT5开启多个线程和窗口,多线程与多窗口的交互实例
2019/12/13 Python
Python类中的装饰器在当前类中的声明与调用详解
2020/04/15 Python
python实例化对象的具体方法
2020/06/17 Python
自荐信范文
2013/12/10 职场文书
法学专业本科生自荐信范文
2013/12/17 职场文书
乐观大学生的自我评价
2014/01/10 职场文书
医务工作者先进事迹材料
2014/01/26 职场文书
蛋糕店的商业计划书范文
2014/01/27 职场文书
毕业自我鉴定怎么写
2014/03/25 职场文书
女生节标语
2014/06/26 职场文书
小学生差生评语
2014/12/29 职场文书
Python中的套接字编程是什么?
2021/06/21 Python
Java数组与堆栈相关知识总结
2021/06/29 Java/Android
pandas数值排序的实现实例
2021/07/25 Python
Python实现抖音热搜定时爬取功能
2022/03/16 Python