Animate.css 讓菜鳥走路也有風!

最近寫了一些 CSS 的排版練習,實在很肖想能做一些前端的動態效果。但在 CSS 和 JavaScript 功力都還很菜的情況下該怎麼達成願望呢?嗯......那就直接套用大神寫好的效果吧!🤪 這個 Animate.css 是寫 AC My Hero Page 作業時發現的,最初其實是很想要試試看「點擊 "Save the World" 按鈕後鋼鐵人小圖晃動」這樣的效果。也確實有找到一個 JavaScript 寫法,其中模仿 QQ 聊天的抖動很類似我想要的,只是現在的功力真的菜到就連撿到現成的都還動不起來,胡亂研究一陣子後還是只能先暫時放棄。也因為這樣,這才發現了由 Daniel Eden 所開發的 Animate.css。


Animate.css 目前共有 16 個不同大主題的 CSS3 動畫效果,我們只需要事先在 html 的 <head> 中引入 Animate.css 的樣式檔,接著在想增加動畫效果的 html 標籤上設定相對應 class,即可輕輕鬆鬆擁有想要的動畫!

Step 1. 設定 Animate.css 樣式檔

<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.5.2/animate.min.css"/>

Step 2. 設定相對應 class
例如我想要將 tada 這個效果加在鋼鐵人小圖上,就在 <img> 標籤加上如下 "animated infinite tada" 的 class。

<div class="sticker">
<img class="animated infinite tada" src="https://i.imgur.com/WAtkuLN.png" alt="Iron Man">
</div>

  • animated → 動畫
  • infinite → 無限循環,這個屬性也可以再更細緻地調整。
  • tada → Animate.css 的動畫效果名稱,想要別的動畫效果換掉這個即可。

做出來的效果就像這樣

See the Pen WI-S2L4 Assignment Iron Man by Hailey Lin (@hanpig) on CodePen.


Step 3. 將動畫效果調整地更細緻
若不希望動畫無限播放,也可以拿掉 infinite、更進一步增加 style,比如我想要單次動畫 9 秒的時間、只能重播動畫 9 次:

<div class="sticker">
<img class="animated tada" style="animation-duration: 9s;animation-iteration-count:9" src="https://i.imgur.com/WAtkuLN.png" alt="Iron Man">
</div>

  • animation-duration → 控制單次動畫的時間長度
  • animation-iteration-count → 控制動畫重播的次數

最後,寫 My Hero Page 時還另外學到了「點擊按鈕後顯示 alert 訊息」的 html 語法 → onclick= " alert ( '訊息內容') "。
 
<button style="cursor: pointer" class="button" onclick="alert('YOU Saved the WorldGood Job!💪💪💪')">Save the World</button>




留言

這個網誌中的熱門文章

如何在 Blogger 文章中顯示程式碼區塊?

邊緣人的終極密碼 —JavaScript 程式入門經典練習題「猜數字猜到飽」

排球少年山口忠:平凡的我們也能威力十足