新手都能做效果系列最后一個,CSS3屬性中有關于制作動畫的三個屬性:
transform,transition,animation
當這幾篇文檔都能讀懂了;就可以發(fā)揮你天馬星空的想象寫動畫了;
在 CSS3 中創(chuàng)建動畫,需要學習 @keyframes 規(guī)則。
@keyframes 規(guī)則用于創(chuàng)建動畫。在 @keyframes 中規(guī)定某項 CSS 樣式,就能創(chuàng)建由當前樣式逐漸改為新樣式的動畫效果
@keyframes mymove{ //mymove自定義名
from{初始狀態(tài)屬性}
to{結束狀態(tài)屬性}
}
或
@keyframes mymove{
0%{初始狀態(tài)屬性}
100%{結束狀態(tài)屬性}
}(中間再可以添加關鍵幀)
@keyframes瀏覽器支持情況:

animation
當然在 @keyframes 中創(chuàng)建動畫時,請把它捆綁到某個選擇器,否則不會產(chǎn)生動畫效果。animation復合屬性。檢索或設置對象所應用的動畫特效。兩個搭配才能產(chǎn)生動畫
首先說說animation和transition的區(qū):
相同點:都是隨著時間改變元素的屬性值。
不同點:
transition需要觸發(fā)一個事件(hover事件或click事件等)才會隨時間改變其css屬性;
而animation在不需要觸發(fā)任何事件的情況下也可以顯式的隨著時間變化來改變元素css的屬性值,從而達到一種動畫的效果,css3的animation就需要明確的動畫屬性值。
下面一一介紹他的屬性值:
1.animation-name 檢索或設置對象所應用的動畫名稱
說明:必須與規(guī)則@keyframes配合使用,eg:@keyframes mymove{} animation-name:mymove;
2.animation-duration 檢索或設置對象動畫的持續(xù)時間
說明:animation-duration:3s; 動畫完成使用的時間為3s
3.animation-timing-function 檢索或設置對象動畫的過渡類型
說明:
linear:線性過渡。等同于貝塞爾曲線(0.0, 0.0, 1.0, 1.0)
ease:平滑過渡。等同于貝塞爾曲線(0.25, 0.1, 0.25, 1.0)
ease-in:由慢到快。等同于貝塞爾曲線(0.42, 0, 1.0, 1.0)
ease-out:由快到慢。等同于貝塞爾曲線(0, 0, 0.58, 1.0)
ease-in-out:由慢到快再到慢。等同于貝塞爾曲線(0.42, 0, 0.58, 1.0)
step-start:馬上跳到動畫每一結束楨的狀態(tài)
4.animation-delay 檢索或設置對象動畫延遲的時間
說明:animation-delay:0.5s; 動畫開始前延遲的時間為0.5s)
5.animation-iteration-count 檢索或設置對象動畫的循環(huán)次數(shù)
說明:
animation-iteration-count: infinite | number;
infinite:無限循環(huán)
number: 循環(huán)的次數(shù)
6.animation-direction 檢索或設置對象動畫在循環(huán)中是否反向運動
說明:
normal:正常方向
reverse:反方向運行
alternate:動畫先正常運行再反方向運行,并持續(xù)交替運行
alternate-reverse:動畫先反運行再正方向運行,并持續(xù)交替運行
7.animation-play-state 檢索或設置對象動畫的狀態(tài)
說明:
animation-play-state:running | paused;
running:運動
paused: 暫停
animation-play-state:paused; 當鼠標經(jīng)過時動畫停止,鼠標移開動畫繼續(xù)執(zhí)行
總結一下:
好吧說這么多;大家應該也還是一臉懵;還是上代碼怎么用大家就一目了然了;

本人覺得還是上圖更清晰,這個寫注釋也沒法寫哈哈;最后給大家?guī)讉€小案例,提取碼:30cl ;