紀錄工作經驗、相關知識,解決技術相關問題。

CSS, 工作雜談, 新手 Jamp Holes, 網站相關, 資訊相關

常用 CSS 動畫套件推薦:Animate.css、Hover.css 等 4 款免費開源特效清單

常用 CSS 動畫套件推薦:Animate.css、Hover.css 等 4 款免費開源特效清單 特色圖片

在現代網頁設計中,動態互動已成為不可或缺的視覺焦點。對於剛接觸前端開發的工程師與設計師而言,善用現成的 CSS 動畫套件 不僅能大幅降低製作複雜關鍵幀的技術門檻,更能讓網頁在短時間內具備流暢且吸睛的視覺體驗。本文將為你介紹 4 款常用 CSS 動畫套件,免費且實用的網頁特效 Library,並透過實際的 HTML 結構與 Class 引入範例,帶你快速掌握各個套件的實作要點。

一、 CSS 動畫基礎概念

在深入探討套件實作之前,先簡單建立 CSS 動畫的核心概念。CSS 動畫主要依賴 @keyframes 關鍵幀與 transition 轉場屬性來運作。關鍵幀允許開發者定義動畫在不同時間點的樣式狀態,而轉場則處理屬性變化時的平滑過渡。不過,當專案規模較大或需要多種特效時,手寫全部動畫會耗費大量時間,這時透過現成的 CSS 動畫套件就能展現極高的效率。

二、 常用 CSS 動畫套件總覽與規格對照

以下精選 4 款對新手與前端開發者特別友好的免費開源 CSS 動畫套件,先透過下表快速掌握各套件的核心定位與適用場景:

套件名稱主要觸發方式核心應用場景引入需求
Animate.css類別觸發 (class)頁面載入、元素入場、無限循環動畫僅需引入 CSS
Hover.css滑鼠懸停 (hover)按鈕互動、超連結、圖示回饋僅需引入 CSS
Magic Animations類別組合 (class)強烈視覺印象、特殊轉場與透視特效僅需引入 CSS
AOS (Animate On Scroll)視窗滾動 (Viewport)長版網頁、區塊動態載入需引入 CSS 與 JS 腳本

三、 各款 CSS 動畫套件實作與程式碼範例

1. Animate.css

Animate.css 跨瀏覽器 CSS 動畫庫官方網站與效果預覽
  • 官網:Animate.css GitHub 官方儲存庫
  • 特點:Animate.css 是一個廣受歡迎的輕量級 CSS 動畫庫,提供彈跳、淡入淡出、翻轉等豐富的預設動畫,適合用於頁面載入時的元素入場效果。
  • CDN 連結:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"/>
  • HTML 導入與實作範例:

透過 CDN 引入樣式表後,直接在目標元素上同時賦予 animate__animated 與對應的動畫類別即可生效:

<!DOCTYPE html>
<html lang="zh-Hant">
<head>
    <meta charset="UTF-8">
    <title>Animate.css 範例</title>
    <!-- 引入 Animate.css CDN -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"/>
</head>
<body>
    <!-- 套用動畫的 HTML 結構 -->
    <h1 class="animate__animated animate__bounce animate__infinite">Hello, Animate.css!</h1>
</body>
</html>

2. Hover.css

Hover.css 滑鼠懸停按鈕動畫效果集合展示畫面
  • 官網:https://ianlunn.github.io/Hover/
  • 特點:Hover.css 專注於滑鼠懸停互動效果,提供大量應用於按鈕、超連結或圖示的特效,能有效提升介面的回饋感。
  • CDN 連結:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/hover.css/2.3.1/css/hover-min.css">
  • HTML 導入與實作範例:

引入套件後,將對應的互動類別(例如 hvr-grow)加到按鈕或連結上:

<!DOCTYPE html>
<html lang="zh-Hant">
<head>
    <meta charset="UTF-8">
    <title>Hover.css 範例</title>
    <!-- 引入 Hover.css 樣式 -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/hover.css/2.3.1/css/hover-min.css">
</head>
<body>
    <!-- 套用懸停放大的按鈕結構 -->
    <a href="#" class="hvr-grow" style="display: inline-block; padding: 12px 24px; background: #007bff; color: #fff; text-decoration: none; border-radius: 4px;">按鈕懸停放大</a>
</body>
</html>

3. Magic Animations

Magic Animations CSS3 特效動畫庫互動展示畫面
  • 官網:https://www.minimamente.com/project/magic/
  • 特點:Magic Animations 提供許多視覺張力強烈的特殊轉場效果,如旋轉、透視與漸顯消失,適合用於需要強烈視覺印象的特定區塊。引入 CSS 檔案後,通常需要組合兩個 Class 才能正確觸發動畫(例如 magictime 搭配對應的特效名稱如 puffIn)。
  • CDN 連結:
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/magic/1.1.0/magic.min.css">
  • HTML 導入與實作範例:
<!DOCTYPE html>
<html lang="zh-Hant">
<head>
    <meta charset="UTF-8">
    <title>Magic Animations 範例</title>
    <!-- 引入 Magic CSS 樣式 -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/magic/1.1.0/magic.min.css">
</head>
<body>
    <!-- 套用強力視覺轉場的 HTML 結構 -->
    <div class="magictime puffIn" style="width: 200px; height: 100px; background: #28a745; color: #fff; text-align: center; line-height: 100px; margin: 50px auto;">
        Magic 特效區塊
    </div>
</body>
</html>

4. AOS – Animate On Scroll

AOS (Animate On Scroll) 網頁滾動觸發動畫庫官方展示
  • 官網:https://michalsnik.github.io/aos/
  • 特點:AOS 結合了 CSS 與輕量級 JavaScript,能夠完美處理當頁面滾動到視窗範圍內(Viewport)時才觸發動畫的延遲與時機,非常適合長版網頁的動態載入。
  • CDN 連結(包含 CSS 與 JS):
<link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet">
<script src="https://unpkg.com/[email protected]/dist/aos.js"></script>
  • HTML 導入與實作範例:
<!DOCTYPE html>
<html lang="zh-Hant">
<head>
    <meta charset="UTF-8">
    <title>AOS 捲動動畫範例</title>
    <!-- 1. 引入 AOS CSS -->
    <link href="https://unpkg.com/[email protected]/dist/aos.css" rel="stylesheet">
</head>
<body>
    <!-- 2. 在元素上加入 data-aos 屬性控制滾動動畫 -->
    <div data-aos="fade-up" data-aos-duration="1000" style="width: 300px; height: 150px; background: #ffc107; margin: 200px auto; text-align: center; line-height: 150px;">
        捲動到此處才顯示
    </div>

    <!-- 3. 引入 AOS JS 並初始化 -->
    <script src="https://unpkg.com/[email protected]/dist/aos.js"></script>
    <script>
        AOS.init();
    </script>
</body>
</html>

四、 總結

對於新手開發者來說,掌握如何使用 CSS 動畫套件能大幅提升前端開發效率,並加深對網頁視覺動態的理解。從 Animate.css 的預設入場、Hover.css 的互動回饋,到 Magic Animations 的強烈視覺轉場與 AOS 的滾動觸發,每個工具都有其適合的應用場景。建議根據專案需求選擇合適的套件,並透過上述提供的單行 CDN 快速引入,在實作中調整參數,打造出流暢且具質感的網頁作品。

參考資料與延伸閱讀

發表迴響