🖍️
CSS 排版及動畫效果
  • CSS 排版及動畫效果
  • 1. 簡介
    • 1.1 講者簡介
    • 1.2 課程簡介
    • 1.3 開發工具簡介
  • 2. 棋盤式排版模式 Grid
    • 2.1 基本觀念及術語
    • 2.2 Grid 排版 - Container
    • 2.3 Grid 排版 - Items
  • 3. 多欄排版模式 Column
  • 4. 轉場效果 transition
    • 4.1 第一個 transition
    • 4.2 屬性 transition-property
    • 4.3 期間 transition-duration
    • 4.4 漸變函式 transition-timing-function
    • 4.5 延遲 transition-delay
    • 4.6 transition 縮寫
    • 4.7 練習
  • 5. 動畫效果 animation
    • 5.1 第一個 animation
    • 5.2 關於 keyframes
    • 5.3 同個元素套用多個 animation
    • 5.4 次數 animation-iteration-count
    • 5.5 方向 animation-direction
    • 5.6 延遲 animation-delay
    • 5.7 填滿模式 animation-fill-mode
    • 5.8 播放狀態 animation-play-state
    • 5.9 漸變函式 animation-timing-function
    • 5.10 animation 縮寫
    • 5.11 補充:動畫效果事件(Animation Event)
    • 5.12 練習
  • 6. 作業
  • 7. 第三方動畫效果套件
    • 7.1 Animate.css
    • 7.2 AOS
    • 7.3 CSS Loader
  • 8. 大量練習
  • 9. 其它及參考資料
Powered by GitBook
On this page
  • 相關 CSS
  • CSS Animation 動畫原理
  • 第一個 animation 解說
  • 例:第一個 animation - 旋轉 360 度
  1. 5. 動畫效果 animation

5.1 第一個 animation

相關 CSS

  • @keyframes:建立一個動畫效果的名稱,然後創造動畫影格。

  • animation-name:某個動畫效果的名稱。

  • animation-duration:動畫效果要執行的「期間」。

先瞭解這三樣東西,就可以至少將動畫效果套用至指定元素。

CSS Animation 動畫原理

首先,我們必須要先瞭解在製作 CSS 動畫時的幾個基本觀念:

  • 動畫名稱:給定一個名稱,然後就可以套用在任何元素上。

  • 初始狀態:一個動畫的初始狀態,一般是 0%;然而,若沒有指定的話,初始狀態就會是元素本身原來的狀態。

  • 最終狀態:一個動畫的最終狀態,一般是 100%;然而,若沒有指定的話,動畫執行到指定的最後百分比時,就會倒轉回到元素的初始狀態。

  • 執行期間:從初始狀態執行到最終狀態時,要在多少時間完成。

透過以上的基本定義,就可以建立一個基本的 CSS 動畫了。

第一個 animation 解說

1、動畫名稱、初始狀態、最終狀態,程式碼的撰寫方式,如下圖:

2、設定一個名稱叫做 rotation 的動畫,初始狀態(0%)時,設定 transform 為 rotate(0deg);最終狀態(100%)時,設定 transform 為 rotate(360deg),如下程式碼:

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

3、讓某個元素套用由 @keyframes 做好的 rotation 動畫( animation-name ),並且設定執行期間為 5 秒( animation-duration ):

div.img_block{
  /*  套上動畫效果 */
  animation-name: rotation;
  animation-duration: 5s;
}

例:第一個 animation - 旋轉 360 度

這樣就完成了一個基本的動畫了。另外 0% 及 100% 有各自的保留字,故 0% 可改寫成用 from 來替代;100% 可改寫成用 to 來替代。

試著將 0% 改成 from、將 100% 改成 to。

也試著將 100% 改成 50% 觀察。(會倒轉回去)

Previous5. 動畫效果 animationNext5.2 關於 keyframes

Last updated 1 year ago