1. 程式人生 > 其它 >給你的網站新增一箇中國新年燈籠掛件(網頁/部落格美化)

給你的網站新增一箇中國新年燈籠掛件(網頁/部落格美化)

技術標籤:Webcsssasswebhtmlblog

效果

預覽

實際

使用

<body>

  <!-- 在頁面最後引入 -->
  <script src="https://cdn.jsdelivr.net/gh/fz6m/[email protected]/dist/china-lantern.min.js"></script>

</body>

實現

對於單個燈籠,我們採取以下節點結構:

  <!-- 燈籠主 warpper ,用於 fixed 定位 -->
  <div class=
"lantern__warpper"
>
<!-- 燈籠核心 box ,渲染紅色橢圓形背景 --> <div class="lantern__box"> <!-- 燈籠上吊線 line --> <div class="lantern__line"></div> <!-- 燈籠 box 內的黃色線 circle (外圍線) --> <div class="
lantern__circle"
>
<!-- 燈籠 box 內的黃色線 ellipse (內圍線) --> <div class="lantern__ellipse"> <!-- 燈籠 box 內的文字 --> <div class="lantern__text">{textFirst}</div> </div> </div> <!-- 燈籠吊尾 tail -->
<div class="lantern__tail"> <!-- 燈籠吊尾下部的方形部分 rect --> <div class="lantern__rect"></div> <!-- 燈籠吊尾的圓形節點 junction ,這裡使節點在 rect 之後會顯得層級更自然 --> <div class="lantern__junction"></div> </div> </div> </div>

相信看到節點設計後已經很一目瞭然了,這是一個純 css 設計的燈籠節點。

核心搖擺動畫:

  $deg-swing: 8deg;
  
  @keyframes lantern-swing {
    0% {
      transform: rotate(#{-$deg-swing});
    }

    100% {
      transform: rotate(#{$deg-swing});
    }
  }

此外:

  1. 採用 scss 進行全動態設計,便於開發者只需要修改對應的變數值即可 diy 自己的燈籠樣式。

  2. 全自動構建流程,支援修改燈籠文字。

  3. 最好的打包與 tree shake + css hack 即開即用。

  4. 支援手機端適配。

專案

中國燈籠:fz6m / china-lantern

使用建議:每逢元旦和新春假期期間使用。

如果想了解更多打包的技術細節,可以參考學習 rollup 打包三部曲:

《 rollup2.3 構建工具/功能庫教程(一):從 babel7 到postcss8 》

《 rollup2.3 構建工具/功能庫教程(二):js 壓縮與配置成型 》

《 rollup2.3 構建工具/功能庫教程(三):細化打包與工具庫模板 》