基本的 樣式設定 / 排版定位 都已經難不倒你了嗎?那就接著要來玩玩動態的部分啦!一開始覺得寫 CSS 能讓醜醜的網頁變漂亮很療癒,而接觸了 CSS 的動畫控制,更是感到加倍療癒啊!
本篇一樣從基本的語法開始:
@keyframes
@keyframes 動畫名稱{
from{
opacity:0.5;
}
to{
opacity:1;;
}
}
@keyframes 動畫名
from
、 to
,還能用百分比來定義
@keyframes 動畫名稱{
0%{
...
}
50%{
...
}
100%{
...
}
}
小細節:
50%{
...
}
50%{
...
}
selector{
animation-name: 動畫名稱;
animation-duration:2s;
}
@keyframes move{
from{
opacity:0;
left: 0;
background: orange;
}
to{
opacity:1;
left: 100px;
background: blue;
}
}
.box{
animation-name: move;
animation-duration:2s;
...(略)
}
最最最基本的寫法,這樣就可以動囉!
範例中關鍵影格使用了不同的顏色屬性,來看看自動生成的顏色:
豪美啊~~
其他的屬性定義還有:
animation-duration: 持續時間
animation-delay: 延遲播放時間
animation-timing-function: 轉場(補間方式)效果函式
咦咦咦!!這是不是有點眼熟?
來回憶一下上一篇提到的 Transition 轉場動畫的基本屬性:
transition-duration: 持續時間
transition-delay: 延遲播放時間
transition-timing-function: 轉場(補間方式)效果函式
嗯~真的有 87% 像呢!
噢~因為都是「動畫」這回事嘛!
而 transition 的 transition-property: 屬姓名
(要生效的屬性) 就相當於 animation 的 animation-name: 動畫名
(要生效的動畫) 的角色。
除了上述跟 transition 類似的屬性外,還有以下:
animation-iteration-count: 數字
指定動畫重複執行次數
:infinite
無限循環animation-direction:
指定動畫方向
: reverse
逆向: alternate
:頭尾相接:隨播放次數正向→反向→正向→反向→…開啟 Codepen 來玩看看吧!
個人 Blog: https://eudora.cc/