使用CSS混合模式轻松实现Mp4视频透明背景

我们知道如果想在一张背景图上加特效,就需要设计师在做视频的同时将背景图导入进去, 这无非是增加了工作量和维护成本,如果我们可以自己实现融合的效果就省了很多事。而mix-blend-mode属性恰好可以做到这点。

最终效果

定义

mix-blend-mode:该属性描述了元素的内容应该与元素的直系父元素的内容和元素的背景如何混合。
screen:最终的颜色是反转颜色(顶层颜色和底层颜色),相乘它们并反转该值的结果。黑色层不会造成变化,白色层导致白色最终层。其效果类似于投射到投影屏幕上的两个图像。

太抽象了,我们只需要理解当背景是黑色的时候,他就会变成透明,我们就是利用他的这个特性来实现透明背景。

代码示例

css 复制代码
<div class="container">
  <video class="video" src="../public/video6.mp4" autoplay muted loop />
</div>
.container {
  width: 400px;
  height: 400px;
  margin: 200px auto;
  background: url("../public/img1.jpeg") no-repeat;
  background-size: 100% 100%;
}
.video {
  width: 100%;
  height: 100%;
  mix-blend-mode: screen;
}

我们需要给video元素mured静音属性autoplay才会生效,然后我们让他循环播放,在video元素上加上mix-blend-mode: screen; 就这么简单,透明效果就做出来了。

相关推荐
Elias不吃糖3 分钟前
Langfuse 入门:Trace、Prompt、Dataset、Experiment、Evaluator
前端·python·prompt·langfuse
vipbic21 分钟前
一个前端的 9 天重构:我是怎么用 Codex 重做航栈的
前端·javascript·后端
Eason_Lou2 小时前
【无标题】
前端·vue.js·html
_codemonster2 小时前
npm run dev 是在开发模式运行,怎么在生产环境运行
前端·npm·node.js
kyriewen3 小时前
我受够了复制报错去问 AI,花一下午给控制台做了个调试助手
前端·javascript·ai编程
IT_陈寒4 小时前
Redis的DEL命令竟然没删掉数据?我踩的这个坑你得知道
前端·人工智能·后端
anOnion4 小时前
构建无障碍组件之Menu and Menubar Pattern
前端·html·交互设计
JavaGuide4 小时前
我用 Claude Code/ZCode+GLM-5.3 从零做了一款 Agent 游戏!
前端·后端
Eason_Lou4 小时前
vue flow使用注意事项
前端·vue.js