<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          為什么 B 站的彈幕可以不擋人物

          共 2088字,需瀏覽 5分鐘

           ·

          2022-12-22 11:47

          大廠技術(shù)  高級(jí)前端  Node進(jìn)階

          點(diǎn)擊上方 程序員成長指北,關(guān)注公眾號(hào)

          回復(fù)1,加入高級(jí)Node交流群

          作者:錢得樂

          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 {
                width668px;
                height376px;
                position: relative;
                -webkit-mask-imageurl("mask.svg");
                -webkit-mask-size668px 376px;
              }
              .bullet {
                position: absolute;
                font-size20px;
              }
            
          </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>

          效果是這樣的

          加一個(gè)紅背景,看的清楚一些

          至此我們就實(shí)現(xiàn)了B站同款的不遮擋人物的彈幕。至于這張圖片是怎么來的,肯定是AI識(shí)別出來然后生成的,一張圖片也就一兩K,一次加載很多張也不會(huì)造成很大的負(fù)擔(dān)。

          最后來看看這個(gè)神奇的css屬性吧

          developer.mozilla.org/zh-CN/docs/…[1]

          Experimental:  這是一個(gè)實(shí)驗(yàn)中的功能

          所以在開發(fā)需求的時(shí)候可以把它當(dāng)成一個(gè)亮點(diǎn)使用,但是不能強(qiáng)依賴于這個(gè)屬性做需求。

          它還有一系列的屬性,有興趣的話可以挨個(gè)試一下。

          參考資料

          [1]

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


          Node 社群



          我組建了一個(gè)氛圍特別好的 Node.js 社群,里面有很多 Node.js小伙伴,如果你對Node.js學(xué)習(xí)感興趣的話(后續(xù)有計(jì)劃也可以),我們可以一起進(jìn)行Node.js相關(guān)的交流、學(xué)習(xí)、共建。下方加 考拉 好友回復(fù)「Node」即可。


             “分享、點(diǎn)贊在看” 支持一波??

          瀏覽 72
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  欧美色图日韩色图 | 鸡巴操逼视频 | 直接免费播放的黄色录像 | 欧洲性爱AV | 女人男人的天堂青草视频 |