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制作翻转效果_动力节点Java学院整理
Jul 11 HTML / CSS
基于ccs3的timeline时间线实现方法
Apr 30 HTML / CSS
html5 touch事件实现触屏页面上下滑动(二)
Mar 10 HTML / CSS
html5基础标签(html5视频标签 html5新标签用法)
Dec 30 HTML / CSS
HTML5 Canvas 实现圆形进度条并显示数字百分比效果示例
Aug 18 HTML / CSS
Html5百叶窗效果的示例代码
Dec 11 HTML / CSS
浅谈HTML5 Web Worker的使用
Jan 05 HTML / CSS
详解三种方式实现平滑滚动页面到顶部的功能
Apr 23 HTML / CSS
Amaze UI 文件选择域的示例代码
Aug 26 HTML / CSS
使用HTML5做的导航条详细步骤
Oct 19 HTML / CSS
HTML通过表单实现酒店筛选功能
May 18 HTML / CSS
css filter和getUserMedia的联合使用
Feb 24 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 用sock技术发送邮件的函数
2007/07/21 PHP
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
深入apache host的配置详解
2013/06/09 PHP
C#使用PHP服务端的Web Service通信实例
2014/04/08 PHP
php通过strpos查找字符串出现位置的方法
2015/03/17 PHP
使用正则去除php代码中的注释方法
2016/11/03 PHP
json 定义
2008/06/10 Javascript
js select常用操作控制代码
2010/03/16 Javascript
Ajax搜索结果页面下方的分页按钮的生成
2012/04/05 Javascript
js页面跳转的常用方法整理
2013/10/18 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
JS 新增Cookie 取cookie值 删除cookie 举例详解
2014/10/10 Javascript
在JavaScript中处理字符串之link()方法的使用
2015/06/08 Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
2015/09/15 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
jQuery实现的简单分页示例
2016/06/01 Javascript
JavaScript基础语法之js表达式
2016/06/07 Javascript
使用伪命名空间封装保护独自创建的对象方法
2016/08/04 Javascript
Javascript 判断两个IP是否在同一网段实例代码
2016/11/28 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
Python中的super()方法使用简介
2015/08/14 Python
Django接受前端数据的几种方法总结
2016/11/04 Python
对Python使用mfcc的两种方式详解
2019/01/09 Python
Python函数定义及传参方式详解(4种)
2019/03/18 Python
Python图片的横坐标汉字实例
2019/12/04 Python
Python多线程实现支付模拟请求过程解析
2020/04/21 Python
Bibloo罗马尼亚网站:女装、男装、童装及鞋子和配饰
2019/07/20 全球购物
Wiggle澳大利亚:自行车、跑步、游泳商店
2020/11/07 全球购物
自我评价中英文语句
2013/11/30 职场文书
师恩难忘教学反思
2014/04/27 职场文书
让世界充满爱演讲稿
2014/05/24 职场文书
2014年依法行政工作总结
2014/11/19 职场文书
2015年幼师工作总结
2015/04/28 职场文书
2019请假条的基本格式及范文!
2019/07/05 职场文书
Mysql服务添加 iptables防火墙策略的方案
2021/04/29 MySQL
uwsgi+nginx代理Django无法访问静态资源的解决
2021/05/10 Servers