為什么 B 站的彈幕可以不擋人物?
來自:掘金,作者:錢得樂?
鏈接:https://juejin.cn/post/7141012605535010823
那天在B站看視頻的時(shí)候偶然發(fā)現(xiàn)當(dāng)字幕遇到人物的時(shí)候就被裁切了,不會(huì)擋住人物,覺得很神奇,于是決定一探究竟。
高端的效果,往往只需要采用最樸素的實(shí)現(xiàn)方式,忙碌了兩個(gè)小時(shí),陳師傅打開了F12,豁然開朗。一張圖片+一個(gè)屬性,直接搞定。

為了印證我的想法,我決定自己寫一個(gè)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>
復(fù)制代碼
效果是這樣的
加一個(gè)紅背景,看的清楚一些
至此我們就實(shí)現(xiàn)了B站同款的不遮擋人物的彈幕。至于這張圖片是怎么來的,肯定是AI識(shí)別出來然后生成的,一張圖片也就一兩K,一次加載很多張也不會(huì)造成很大的負(fù)擔(dān)。
最后來看看這個(gè)神奇的css屬性吧
https://developer.mozilla.org/zh-CN/docs/Web/CSS/mask-image
Experimental:?這是一個(gè)實(shí)驗(yàn)中的功能
所以在開發(fā)需求的時(shí)候可以把它當(dāng)成一個(gè)亮點(diǎn)使用,但是不能強(qiáng)依賴于這個(gè)屬性做需求。
它還有一系列的屬性,有興趣的話可以挨個(gè)試一下。
我們創(chuàng)建了一個(gè)高質(zhì)量的技術(shù)交流群,與優(yōu)秀的人在一起,自己也會(huì)優(yōu)秀起來,趕緊點(diǎn)擊加群,享受一起成長(zhǎng)的快樂。另外,如果你最近想跳槽的話,年前我花了2周時(shí)間收集了一波大廠面經(jīng),節(jié)后準(zhǔn)備跳槽的可以點(diǎn)擊這里領(lǐng)取!推薦閱讀
-
別再自己瞎寫工具類了,Spring Boot 內(nèi)置工具類應(yīng)有盡有
-
關(guān)于 “ React 和 Vue 該用哪個(gè)” 我真的栓 Q
-
牛逼哄哄的 JD-hotkey !
你好,我是程序猿DD,10年開發(fā)老司機(jī)、阿里云MVP、騰訊云TVP、出過書創(chuàng)過業(yè)、國企4年互聯(lián)網(wǎng)6年 。 從普通開發(fā)到架構(gòu)師、再到合伙人。一路過來,給我最深的感受就是一定要不斷學(xué)習(xí)并關(guān)注前沿。只要你能堅(jiān)持下來,多思考、少抱怨、勤動(dòng)手,就很容易實(shí)現(xiàn)彎道超車! 所以,不要問我現(xiàn)在干什么是否來得及。如果你看好一個(gè)事情,一定是堅(jiān)持了才能看到希望,而不是看到希望才去堅(jiān)持。相信我,只要堅(jiān)持下來,你一定比現(xiàn)在更好! 如果你還沒什么方向,可以先關(guān)注我, 這里會(huì)經(jīng)常分享一些前沿資訊,幫你積累彎道超車的資本。
點(diǎn)擊領(lǐng)取2022最新10000T學(xué)習(xí)資料評(píng)論
圖片
表情
