前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >css 实现视频人物不被弹幕遮挡

css 实现视频人物不被弹幕遮挡

作者头像
蓓蕾心晴
发布2022-11-16 13:01:55
4940
发布2022-11-16 13:01:55
举报
文章被收录于专栏:前端小叙前端小叙

背景

在视频平台看剧的时候,总会发现各家都已实现在有人物出现的时候,弹幕会藏在背后的情况,关键是,虽然弹幕被藏在背后,但是点击被遮挡的弹幕位置依然可以点赞成功,真是感觉特别神奇。

网上找到了一个网友发的解决方案,感觉基本符合需求,但是具体各家怎么实现的还待探究。

参考链接

demo 实现

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style>
    .video {
      width: 668px;
      height: 376px;
      position: relative;
      /* -webkit-mask-image 直接使用本地 url 会发生跨域问题,但 background-image 不会 */
      /* mask-image: url("./mask.gif");
      -webkit-mask-image: url("./mask.gif"); */
      /* 取值是渐变色,但是没有生效 */
      /* mask-image:linear-gradient(blue, pink);
      -webkit-mask-image:linear-gradient(blue, pink); */
      /* 最好使用 base64 来解决 */
      mask-image:url("https://img-blog.csdn.net/20170701221732018");
      -webkit-mask-image:url("https://img-blog.csdn.net/20170701221732018");
      mask-size: 668px 376px;
      -webkit-mask-size: 668px 376px;
    }
    .bullet {
      position: absolute;
      font-size: 20px;
      color:pink;
    }
  </style>
</head>
<body>
<div class="video">
  <div class="bullet" style="left: 100px; top: 0;">元芳,你怎么看</div>
  <div class="bullet" style="left: 200px; top: 20px;">你难道就是传说中的奶灵</div>
  <div class="bullet" style="left: 300px; top: 40px;">你好,我是胖灵</div>
  <div class="bullet" style="left: 400px; top: 60px;">这是第一集,还没有舔灵</div>
</div>
<script>
  let video = document.getElementsByClassName("video")[0];
  video.addEventListener("click",(e)=>{
    console.log("给当前点击弹幕点赞",e.target)
    e.target.style.color = "red"
  },false)
</script>
</body>
</html>

此种方案主要的实现原理是,通过AI 算法 生成遮罩蒙层图,css 再通过 -webkit-mask-image 来设置后实现,而且该方法,确实支持被蒙层遮住的地方依然可以点击。

该属性目前仅支持 -webkit 内核浏览器。

该属性的应用:解决png 图片过大,使用蒙层结合jpg 来实现 png 想要实现的部门区域背景透明效果。

实现后效果如图所示

红色文字是点击后被更改了的

参考链接:

https://developer.mozilla.org/zh-CN/docs/Web/CSS/mask-image

https://blog.csdn.net/qq_40999917/article/details/121503435

https://www.zhangxinxu.com/wordpress/2020/05/css-mask-compress-png-image/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • demo 实现
  • 实现后效果如图所示
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档