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 相关文章推荐
css动画效果之animation的常用样式
Mar 09 HTML / CSS
CSS3实现任意图片lowpoly动画效果实例
May 11 HTML / CSS
纯CSS3制作的简洁蓝白风格的登录模板(非IE效果更好)
Aug 11 HTML / CSS
css3 flex布局 justify-content:space-between 最后一行左对齐
Jan 02 HTML / CSS
html5指南-2.如何操作document metadata
Jan 07 HTML / CSS
HTML5 Canvas中使用用路径描画圆弧
Jan 01 HTML / CSS
LocalStorage记住用户和密码功能
Jul 24 HTML / CSS
小程序canvas中文字设置居中锚点
Apr 16 HTML / CSS
Html5监听手机摇一摇事件的实现
Nov 07 HTML / CSS
css3 filter属性的使用简介
Mar 31 HTML / CSS
CSS3 制作精美的定价表
Apr 06 HTML / CSS
CSS3 Tab动画实例之背景切换动态效果
Aug 23 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
分享下php5类中三种数据类型的区别
2015/01/26 PHP
php中session定期自动清理的方法
2015/11/12 PHP
PHP模板引擎Smarty自定义变量调解器用法
2016/04/11 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
2016/05/27 PHP
php array_walk_recursive 使用自定的函数处理数组中的每一个元素
2016/11/16 PHP
PHP中SQL查询语句的id=%d解释(推荐)
2016/12/10 PHP
Yii2实现多域名跨域同步登录退出
2017/02/04 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
几个常用的JavaScript字符串处理函数 - split()、join()、substring()和indexOf()
2009/06/02 Javascript
iframe自适应宽度、高度 ie6 7 8,firefox 3.86下测试通过
2010/07/29 Javascript
查找iframe里元素的方法可传参
2013/09/11 Javascript
node.js WEB开发中图片验证码的实现方法
2014/06/03 Javascript
nodejs教程之异步I/O
2014/11/21 NodeJs
node.js中的fs.appendFileSync方法使用说明
2014/12/17 Javascript
jquery表单验证需要做些什么
2015/11/17 Javascript
node.js 中国天气预报 简单实现
2016/06/06 Javascript
Javascript如何判断数据类型和数组类型
2016/06/22 Javascript
node.js 用socket实现聊天的示例代码
2017/10/17 Javascript
了解ESlint和其相关操作小结
2018/05/21 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
2018/08/12 Javascript
JS中的算法与数据结构之集合(Set)实例详解
2019/08/20 Javascript
Python3基础之基本数据类型概述
2014/08/13 Python
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
2015/05/16 Python
Python实现读取邮箱中的邮件功能示例【含文本及附件】
2017/08/05 Python
python将每个单词按空格分开并保存到文件中
2018/03/19 Python
python 拼接文件路径的方法
2018/10/23 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
html5手机键盘弹出收起的处理
2020/01/20 HTML / CSS
皇家道尔顿官网:Royal Doulton
2017/12/06 全球购物
一名女生的自荐信
2013/12/08 职场文书
实习公司领导推荐函
2014/05/21 职场文书
县委班子四风对照检查材料思想汇报
2014/09/29 职场文书
乡镇党员群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
钢琴师观后感
2015/06/12 职场文书
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL