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+DIV实现漂亮的动画彩色标签
Jun 16 HTML / CSS
css3 border旋转时的动画应用
Jan 22 HTML / CSS
前端隐藏出边界内容的实现方法
Apr 14 HTML / CSS
CSS3自定义滚动条样式 ::webkit-scrollbar的示例代码详解
Jun 01 HTML / CSS
HTML5新表单元素_动力节点Java学院整理
Jul 12 HTML / CSS
html5播放视频且动态截图实现步骤与代码(支持safari其他未测试)
Jan 06 HTML / CSS
H5离线存储Manifest原理及使用
Apr 28 HTML / CSS
AmazeUI导航的示例代码
Aug 14 HTML / CSS
CSS 圆形进度栏
Apr 06 HTML / CSS
Html5新增了哪些功能
Apr 16 HTML / CSS
浅谈由position属性引申的css进阶讨论
May 25 HTML / CSS
带你了解CSS基础知识,样式
Jul 21 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水印
2007/03/16 PHP
一段php加密解密的代码
2007/07/16 PHP
php上的memcache和memcached两个pecl库
2010/03/29 PHP
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
PHP register_shutdown_function函数的深入解析
2013/06/03 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
2013/07/03 PHP
如何让CI框架支持service层
2014/10/29 PHP
php利用反射实现插件机制的方法
2015/03/14 PHP
php实现学生管理系统
2020/03/21 PHP
thinkphp分页实现效果
2016/10/13 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
JavaScript对IE操作的经典代码(推荐)
2014/03/10 Javascript
AngularJS实现Input格式化的方法
2016/11/07 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
Vue 页面切换效果之 BubbleTransition(推荐)
2018/04/08 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
通过实例解析json与jsonp原理及使用方法
2020/09/27 Javascript
[47:31]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第一场 12.12
2020/12/16 DOTA
Python 网络编程起步(Socket发送消息)
2008/09/06 Python
利用python爬取软考试题之ip自动代理
2017/03/28 Python
浅谈Python中带_的变量或函数命名
2017/12/04 Python
读取本地json文件,解析json(实例讲解)
2017/12/06 Python
python实现将一个数组逆序输出的方法
2018/06/25 Python
python3.6使用pickle序列化class的方法
2018/10/22 Python
python 用下标截取字符串的实例
2018/12/25 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
python之array赋值技巧分享
2019/11/28 Python
python中的split()函数和os.path.split()函数使用详解
2019/12/21 Python
Win10里python3创建虚拟环境的步骤
2020/01/31 Python
英国复古皮包品牌:Beara Beara
2018/07/18 全球购物
网络公司美工设计工作个人的自我评价
2013/11/03 职场文书
项目投资意向书
2014/04/01 职场文书
2015年圣诞节活动总结
2015/03/24 职场文书
幼儿园中班班级总结
2015/08/10 职场文书
话题作文之自信作文
2019/11/15 职场文书
Spring依赖注入多种类型数据的示例代码
2022/03/31 Java/Android