要怎麼用「@keyframes」在 CSS 寫動畫效果呢?
教學網址
https://www.w3schools.com/cssref/css3_pr_animation-keyframes.asp
我的codepen練習
https://codepen.io/saffranwang/pen/bJJPwM
Definition and Usage
- 用
@keyframes
來跟「選擇器」產生連結
@keyframes
中,是用來寫「動畫」的程式碼- 「動畫」是由 css 樣式「逐漸轉變的過程」來產生的
- 在動畫期間,css 樣式可以有多次的轉變
- 可以用
“from”
“to”
來訂定動畫的開始/結束 - 也可以用
百分比%
,來標示動畫期間的時間點“from”
就是0%
(動畫一開始)“to”
就是100%
(動畫跑完時)「在動畫期間的1/4」
就是25%
⭐️
小提醒:為了有最佳的瀏覽器支援度,記得一定要寫上「0% 和 100%
」時的樣式
-
在
@keyframes
中,!important
是沒有效用的 -
在寫
@keyframes
時
CSS Syntax
1 | @keyframes animationname { |
animationname
- Required.
- 動畫的名稱(自己隨便命名)
keyframes-selector
- Required.
- 標示出「動畫期間」的時間點可填入的值有:
- 0-100%
- from (same as 0%)
- to (same as 100%)
在一個 keyframes 中,可以標示出多個時間點
css-styles
- Required.
- 填入一個或多個css樣式
加上「兼容各種瀏覽器的前綴詞」
css這樣寫:
1 | /* 標準寫法 */ |
各式範例
在一個動畫期間,標示出多個時間點
css:
1 | @keyframes funny{ |
在一個動畫期間,設定多個css樣式的變化
html:
1 | <div class="box"></div> |
css:
1 | .box{ |
多個時間標示 + 多個css樣式變化
我的codepen:https://codepen.io/saffranwang/pen/BEeaQY