美文网首页
css3让MP4视频背景透明

css3让MP4视频背景透明

作者: Lily_FJ | 来源:发表于2020-11-10 09:23 被阅读0次

需求:入场动画有一种云雾拨开的效果,再呈现主页面

效果图


视频背景透明.gif

张鑫旭的博客《如何让MP4 video视频背景色变成透明?》中提到mix-blend-mode混合模式中有一种混合模式名为滤色,单词是screen,其有一个很有意思的特性表现,那就是黑色和其它元素进行混合的时候表现为透明。

云雾原视频


云雾.gif

实现思路:
1.将云雾视频背景透明
2.加一层背景遮罩
3.监听视频播放,当播放到指定时间后隐藏遮罩和视频,呈现主页面

具体代码:
html

<div class="main">
      <p class="title">感谢观看!</p>
    </div>
    <div class="mask js-mask"></div>
      <!--入场动画-->
    <video class="video js-video" width="100%" height="100%" muted autoplay>
        <source src="video/video.mp4" type="video/mp4">
        您的浏览器不支持Video标签。
    </video>
</div>

css

.main{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    background: url("../img/bg.jpg") center no-repeat;
    background-size: 100% 100%;
}
.title{
    margin-top: 400px;
    text-align: center;
    font-size: 60px;
    font-weight: bold;
    color: rgba(85, 184, 226, 0.91);
}
.mask{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url("../img/bg2.jpg") center no-repeat;
    background-size: 100% 100%;
    z-index: 9;
}
.mask._hide{
    display: none;
}
.video{
    position: absolute;
    mix-blend-mode: screen;
    object-fit: fill;
    z-index: 99;
}
.video._hide{
    display: none;
}

js

var  bShow = true,//判断播放第一次大于指定时间
     jqMask = $('.js-mask'),
     jqVideo = $('.js-video');

//初始化播放视频
var fInitVideo = function(){
    jqVideo.on('timeupdate', fHideMask);//隐藏遮罩层
    jqVideo.on('ended', fCloseVideo);//视频播放结束隐藏
};

//隐藏遮罩层
var fHideMask = function(){
    var nTime = jqVideo[0].currentTime;//用秒数来显示当前播放进度
    if(nTime >= 0.5 && bShow){//当视频播放到固定位置隐藏遮罩层
        bShow = false;
        jqMask.addClass('_hide');
    }
};

//视频播放结束隐藏
var fCloseVideo = function(){
    jqVideo.addClass('_hide');
};

/** ==================== **/
fInitVideo();//初始化播放视频

好记性不如烂笔头,总结和记录工作学习中的点点滴滴,如有不对之处还请指教。

参考
[1] 如何让MP4 video视频背景色变成透明?

相关文章

  • css3让MP4视频背景透明

    使用样式的混合 mix-blend-mode:screen; 详细代码: 注意:外面DIV如果有position的...

  • css3让MP4视频背景透明

    需求:入场动画有一种云雾拨开的效果,再呈现主页面 效果图 张鑫旭的博客《如何让MP4 video视频背景色变成透明...

  • css背景及其应用(二)

    背景透明(CSS3) CSS3支持背景半透明的写法语法格式是: background: rgba(0,0,0,0....

  • CSS3透明度

    css3透明度两种写法整体透明opacity: 1;背景透明,内容不透明background-color: rgb...

  • 导出透明背景视频

    先导出png帧图片,然后用pr将帧图片添加到图层上。选择格式mov带aleph,即可。

  • 使用css3背景渐变中的透明度来设置不同颜色的背景渐变

    使用css3背景渐变中的透明度来设置不同颜色的背景渐变 为了添加透明度,我们使用 rgba() 函数来定义颜色结点...

  • css3改变图片颜色

    css3改变图标颜色,用到filter(滤镜)这个属性(注意,是需要纯色的图片,白色背景或者透明背景的图片),下面...

  • CSS3 背景

    知识点: CSS3 背景图像区域CSS3 背景图像定位CSS3 背景图像大小CSS3 多重背景图像CSS3 背景属...

  • 透明度设置与兼容

    如何实现背景透明,文字不透明,兼容所有浏览器? 在实际中设置样式的透明度一共有3种方法 css3的opacity:...

  • 基于iOS的OpenGL ES入门

    学习动机: 问题:最近在做直播项目礼物动画,要求mp4格式文件进行播放,由于MP4视频帧只有RGB信息,没有透明度...

网友评论

      本文标题:css3让MP4视频背景透明

      本文链接:https://www.haomeiwen.com/subject/bpqqbktx.html