为什么 B 站的弹幕可以不挡人物?

news2024/11/17 5:45:22

那天在 B 站看视频的时候,偶然发现当字幕遇到人物的时候就被裁切了,不会挡住人物,觉得很神奇,于是决定一探究竟。

高端的效果,往往只需要采用最朴素的实现方式,忙碌了两个小时,陈师傅打开了 F12,豁然开朗。一张图片 + 一个属性,直接搞定。

 

 为了印证我的想法,我决定自己写一个 demo。

<!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("mask.svg");
      -webkit-mask-size: 668px 376px;
    }
    .bullet {
      position: absolute;
      font-size: 20px;
    }
  </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>
</body>
</html>
复制代码

效果是这样的:

 加一个红背景,看得更清楚一些:

 

我们就实现了 B 站同款的不遮挡人物的弹幕。

至于这张图片是怎么来的,肯定是 AI 识别出来然后生成的,一张图片也就一两 K,一次加载很多张也不会造成很大的负担。

最后,来看看这个神奇的 css 属性 mask-image 吧。

这是一个实验中的功能,此功能某些浏览器尚在开发中,在不同的浏览器中适合使用的前缀也不一样。

在开发需求的时候可以把它当成一个亮点使用,但是不能强依赖于这个属性做需求。

这里还有一系列的属性,有兴趣的话可以挨个试一下。

 如果对你有所启发,就点个赞

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/195606.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring Boot(二):第一种导入依赖方式的实战案例

文章目录 第一种导入依赖方式的实战案例 一、导入依赖 二、依赖传递结构图 三、开发案例代码 第一种导入依赖方式的实战案例 一、导入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0…

Android开发——HOOK技术【解析】

1. 什么是 Hook Hook 英文翻译过来就是「钩子」的意思&#xff0c;那我们在什么时候使用这个「钩子」呢&#xff1f;在 Android 操作系统中系统维护着自己的一套事件分发机制。应用程序&#xff0c;包括应用触发事件和后台逻辑处理&#xff0c;也是根据事件流程一步步地向下执…

前端算法之二分查找

在数组中查找指定元素,如果存在就返回它的位置,如果不存在,就返回-1。 这是一道非常经典的算法题&#xff0c;考的就是二分查找算法&#xff0c;首先分析二分查找的思路&#xff1a; 假设一个数组为 [3,5,19,22,25,33,45,47,57,66,71,78]&#xff08;已经从小到大排好序&…

dapr本地托管的服务调用体验与Java SDK的Spring Boot整合

1 简介 之前在文章《dapr入门与本地托管模式尝试》中介绍了dapr和本地托管&#xff0c;本文我们来介绍如果在代码中使用dapr的服务调用功能&#xff0c;并把它整合到Spring Boot中。 Dapr服务调用的逻辑如下&#xff1a; 本次实验会创建两个服务&#xff1a; pkslow-data&am…

2023华数杯B题社会稳定预警首版思路

文章目录2023华数杯B题社会稳定预警首版思路B题题目如下&#xff1a;2023华数杯B题社会稳定预警首版思路 这个思路对下面这五问有了非常详细的思路&#xff0c;并且提供了支持材料。对本次的比赛进度有很大的帮助。 思路下载&#xff1a; https://math.jobpig.top/?p237 B题题…

CentOS7升级OpenSSH9.2编译rpm包

以下步骤在联网的Centos 7环境下执行 1、 下载用于编译openssh的rpm包的工具 yum install -y rpm-build gcc gcc-c glibc glibc-devel openssl-devel openssl prce pcre-devel zlib zlib-devel make wget krb5-devel pam-devel libX11-devel xmkmf libXt-devel initscripts lib…

二、第二天

977.有序数组的平方力扣题目链接给你一个按 非递减顺序 排序的整数数组 nums&#xff0c;返回 每个数字的平方 组成的新数组&#xff0c;要求也按 非递减顺序 排序。示例 1&#xff1a; 输入&#xff1a;nums [-4,-1,0,3,10] 输出&#xff1a;[0,1,9,16,100] 解释&#xff1a;…

jackon.date-format 不生效

文章目录前言一、可能原因二、解决方案2.1、升级nacos&#xff08;可忽略&#xff09;2.2. 自定义日期反序列化格式总结前言 springboot 默认json 序列化使用jackon 正常配置jackon.date-formatyyyy-MM-dd HH:mm:ss 即可格式化日期格式&#xff0c;但是由于项目引用各种jar和拦…

直播 | StarRocks 实战系列第一期--部署导入

你今年的 Flag 定了吗&#xff1f;兔年开工&#xff0c;仪式感就从立 Flag 开始&#xff01;在技术上&#xff1a;兔飞猛进&#xff0c;能力吊打同行&#xff1b;在工作上&#xff1a;兔步青云&#xff0c;升职加薪获得领导赏识&#xff1b;在学习上&#xff1a;前兔无量&#…

总结继承和多态的一些问题

在学习了继承和多态后&#xff0c;本人有以下容易造成混乱的点以及问题&#xff1a; 1.区分虚表和虚基表 虚表即虚函数表&#xff0c;存储的是虚函数的地址。另外&#xff1a;虚表是在编译阶段就生成的&#xff0c;一般存在于常量区&#xff08;代码段&#xff09;。 虚基表…

Apache Spark 机器学习 特征转换 2

PCA&#xff08;Principal Component Analysis&#xff09; 该转换器是主成分分析方法&#xff0c;是统计学领域中对数据样本的正相关的转换与分析方法&#xff0c;在一批具有相关性的数据样本的数据集中&#xff0c;删除多余的重复的相关变量&#xff0c;得到少量具有信息代表…

一刷代码随想录——贪心算法

1.理论基础通过局部最优&#xff0c;推出整体最优。2.分发饼干 455题目描述&#xff1a;假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。对每个孩子 i&#xff0c;都有一个胃口值 g[i]&#xff0c;这是能让孩子们…

Softmax Classifier 多分类问题

文章目录8、Softmax Classifier 多分类问题8.1 Revision8.2 Softmax8.2.1 Design8.2.2 Softmax Layer8.2.3 NLLLoss vs CrossEntropyLoss8.2.4 Mini-Batch8.3 MNIST dataset8.3.1 Import Package8.3.2 Prepare Dataset8.3.3 Design Model8.3.4 Construct Loss and Optimizer8.3…

农业气象站—提供多元化数据

中国气象局应急减灾与公共服务司司长王志华曾表示&#xff0c;“农业气象灾害风险预警是守住粮食安全底线的关键一环。”在全球新冠肺炎疫情常态化的形势下&#xff0c;我国将粮食安全摆在了更突出的位置。 粮食在我国具有重要的战略地位&#xff0c;自从建国以来&#xff0c;…

功能测试(环境搭建)

目录 1.功能测试流程&#xff1a; 2.环境搭建&#xff08;源码&#xff09; 2.1.环境说明&#xff08;后台&#xff09;&#xff1a; 2.2.代码仓库获取代码 2.3.项目环境搭建 2.4后台部署 3.环境搭建&#xff08;war包&#xff09; 1.功能测试流程&#xff1a; 2.环境搭建…

【C++初阶】八、STL---list(总)|list的介绍|list的使用

目录 一、list的介绍 二、list的使用 2.1 Construct 2.2 operator 2.3 Iterators 2.4 Capacity 2.5 Element access 2.6 Modifiers 2.7 Operations 一、list的介绍 有数据结构作为基础&#xff0c;STL 上手很快&#xff0c;学习成本也低&#xff0c;本文也是讲解 list…

大数据技术架构(组件)17——Hive:UDF/UDTF/UDAF三者区别

1.4.12、三者区别1.4.12.1、UDFUDF全称为User Defined Function&#xff08;即用户自定义函数&#xff09;&#xff0c;UDF开发在日常工作当中是非常普遍的。我们写一段SQL&#xff0c;调用UDF&#xff0c;得到结果就算是结束了&#xff0c;但大家有没有想过UDF底层是怎么执行的…

CSS语法指南

学前需求 需要对HTML有一定的了解 什么是 CSS? CSS 指层叠样式表 (Cascading Style Sheets) 样式定义如何显示 HTML 元素样式通常存储在样式表中把样式添加到 HTML 4.0 中&#xff0c;是为了解决内容与表现分离的问题外部样式表可以极大提高工作效率外部样式表通常存储在 CS…

操作系统—王道考研之进程管理

by:星辰 课程视频链接:https://www.bilibili.com/video/BV1YE411D7nH 第 2 章 进程管理 2.1 进程与线程 2.1.1 进程的定义、特征、组成、组织 2.1.1.1 总览 2.1.1.2 进程的定义 &#xff08;1&#xff09;程序的概念 程序&#xff1a;一组计算机能识别和执行的指令。 是静…

C语言及算法设计课程实验五:循环结构程序设计

C语言及算法设计课程实验五&#xff1a;循环结构程序设计一、实验目的二、实验内容2.1、统计字符个数2.2、输出所有的“水仙花数”2.3、猴子吃桃问题2.4、牛顿迭代法求方程三、实验步骤3.1、循环结构程序设计实验题目一&#xff1a;统计字符个数1、定义变量2、 输入一串字符3、…