安裝 Animate.css 套件,可以讓網頁動化效果更豐富,可使用 CSS 設定跟 JavaScirpt 控制。
安裝
npm 安裝
1
| $ npm install animate.css --save
|
yarn 安裝
載入 CDN
1
| https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.0.0/animate.min.css
|
可以在官網右側欄位看到很多動畫效果,點擊後可以直接在畫面預覽。
4.0 版本後要加前綴詞 animate__
,後面底線是兩條。
示範語法:
1
| <h1 class="animate__animated animate__bounce">An animated element</h1>
|
CSS 設定
使用 @keyframes 設定
1 2 3 4 5 6 7
| .my-element { display: inline-block; margin: 0 0.5rem; //相關設定 animation: bounce; //動畫效果名稱 animation-duration: 2s; //要設定持續時間 }
|
CSS 變數自定義設定方式
1 2 3 4 5 6 7 8 9 10
| //自己動畫持續時間設定 .animate__animated.animate__bounce { --animate-duration: 2s; }
//全域動畫效果設定 :root { --animate-duration: 800ms; --animate-delay: 0.9s; }
|
延遲設定
可以直接在 HTML 設定
1
| <div class="animate__animated animate__bounce animate__faster">Example</div>
|
HTML 標籤設定與延遲預設值
1 2 3 4
| animate__slow 2s animate__slower 3s animate__fast 800ms animate__faster 500ms
|
在 CSS 設定
1 2 3 4 5 6 7 8 9
| //全域設定 :root { --animate-duration: 2s; }
//指定 class 達到特定時間效果 .my-element { --animate-duration: 0.5s; }
|
animate__animated
有原本速度預設值為 1 秒。
JavaScript 設定
透過控制 DOM 元素結合使用,
HTML
1 2 3 4
| <div class="btnGroup"> <button class="btn jq-animation">點擊我看動畫</button> <p class="text text3">透過 JS 套用效果</p> </div>
|
jS 設定
1 2 3 4 5 6 7 8 9
| $(function () { $(".jq-animation").click(function () { $(".text3").addClass("animate__animated animate__backInLeft"); }); $(".text3").on("animationend", function () { $(this).removeClass("animate__animated animate__backInLeft"); }); });
|
參考資料