利用css3-animation實現(xiàn)逐幀動畫效果

本文分享了用css3-animation來制作逐幀動畫的實現(xiàn)方法,供大家參考,具體內(nèi)容如下
常見用法:
- :hover{ animation:mymove 4s ease-out 1s backwards;}
- @-webkit-keyframes mymove /*Safari and Chrome*/ { from {left:0px;} to {left:200px;} }
- 復(fù)制代碼
- 解釋:
- mymove :keyframes的名稱;
- 4s:動畫的總時間;
- ease-out: 快結(jié)束的時候慢下來;
- 1s:停頓1秒后開始動畫;
- backwards:動畫結(jié)束后回到原點
- 默認(rèn):播放一次
- 或者
- transition:left 4s ease-out
- :hover{left:200px}
兼容主流瀏覽器:
- .test{
- -webkit-animation: < 各種屬性值 >;
- -moz-animation: < 各種屬性值 >;
- -o-animation: < 各種屬性值 >;
- animation: < 各種屬性值 >;
- }
animation-name,規(guī)定要綁定的keyframes的名稱,隨便你取,不過為了日后維護的方便,建議取一個跟動作相關(guān)名稱相近的名稱比較好。比如要我們要綁定一個跑的動作,那么可以命名為run。
time,這里有兩個時間,前面一個是規(guī)定完成這個動畫所需要的時間,全稱叫animation-duration,第二個time為動畫延遲開始播放的時間,全稱叫animation-delay,這兩個數(shù)值可以用秒’s’也可以用微秒’ms’來寫,1000ms=1s,這個不用一一介紹。
animation-timing-function,規(guī)定動畫的運動曲線,這里有9個值,分別是ease| linear | ease-in | ease-out | ease-in-out | step-start | step-end | steps([, [ start | end ] ]?) | cubic-bezier(x1, y1, x2, y2)
ease:動畫緩慢開始,接著加速,最后減慢,默認(rèn)值;
linear:動畫從頭到尾的速度是相同的;
ease-in:以低速開始;
ease-out:以低速結(jié)束;
ease-in-out:動畫以低速開始和結(jié)束;
效果一樣 (按步數(shù))steps
- .test1{
- background:url(http://img.xiaoho.com/2014/12/test.png) no-repeat 0 0;
- -webkit-animation:run 350ms steps(1) infinite 0s;}
- @-webkit-keyframes run {
- 0% {
- background-position:0;
- }
- 20% {
- background-position:-90px 0;
- }
- 40% {
- background-position:-180px 0;
- }
- 60% {
- background-position:-270px 0;
- }
- 80% {
- background-position:-360px 0;
- }
- 100% {
- background-position:-450px 0;
- }
- }
- .test2{
- background:url(http://img.xiaoho.com/2014/12/test.png) no-repeat 0 0;
- -webkit-animation:run 350ms steps(5) infinite 0s;}
- @-webkit-keyframes run {
- 100% {
- background-position:-450px 0;
- }
- }
animation-iteration-count,動畫播放次數(shù),默認(rèn)值為1,infinite為無限制,假如設(shè)置為無限制,那么動畫就會不停地播放。
animation-direction,規(guī)定動畫是否反方向運動。
= normal | reverse | alternate | alternate-reverse
第一個值是正常轉(zhuǎn)動播放,默認(rèn)值,reverse為反向轉(zhuǎn)動,alternate一開始正常轉(zhuǎn)動,播放完一次之后接著再反向轉(zhuǎn)動,假如設(shè)置animation-iteration-count:1則該值無效,alternate-reverse一開始為反向轉(zhuǎn)動,播完一次之后按照回歸正常轉(zhuǎn)動,交替轉(zhuǎn)動,設(shè)置count為1,則該值無效。
animation-play-state,定義動畫是否運行或暫停,這是后來新增的屬性,有兩個屬性值分別是running和paused。默認(rèn)值為normal,動畫正常播放。假如是為paused,那么動畫暫停。假如一個動畫一開始為運動,那么假如設(shè)置paused那么該動畫暫停,假如再設(shè)置running,那么該動畫會從剛才暫停處開始運動
animation-fill-mode,定義動畫播放時間之外的狀態(tài),顧名思義,要么就是在動畫播放完了之后給它一個狀態(tài) animation-fill-mode : none | forwards | backwards | both; none,播放完之后不改變默認(rèn)行為,默認(rèn)值,forwards則是停在動畫最后的的那個畫面,backwards則是回調(diào)到動畫最開始出現(xiàn)的畫面,both則應(yīng)用為動畫結(jié)束或開始的狀態(tài)。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。
原文:http://www.cnblogs.com/woloveprogram/p/5258042.html
相關(guān)文章
- 這篇文章主要介紹了css3的動畫特效之動畫序列(animation) 的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-22
CSS3與動畫有關(guān)的屬性transition、animation、transform對比(史上最全
這篇文章主要介紹了CSS3與動畫有關(guān)的屬性transition、animation、transform對比,通過瀏覽器兼容性,用法和對比更深刻的展示了彼此之間的異同,具體操作步驟大家可查看下文2017-08-18CSS3 animation實現(xiàn)簡易幻燈片輪播特效
這篇文章主要為大家詳細(xì)介紹了CSS3 animation實現(xiàn)簡易幻燈片輪播特效,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-09-27CSS3中動畫屬性transform、transition和animation屬性的區(qū)別
最近在項目中用到了CSS3中的動畫屬性。無奈對于css3幾個新加的屬性不太熟悉,常常容易搞混。所以從網(wǎng)站研究了點資料,總結(jié)一下,方便有需要的朋友們可以參考學(xué)習(xí)。2016-09-25- 這篇文章主要為大家詳細(xì)介紹了CSS3中Animation動畫屬性用法,教大家如何使用animation動畫,感興趣的小伙伴們可以參考一下2016-07-04
- 這篇文章主要介紹了CSS3 animation實現(xiàn)逐幀動畫效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-06-02
CSS3中的Transition過度與Animation動畫屬性使用要點
這篇文章主要介紹了CSS3中的Transition過度與Animation動畫屬性使用要點Transition和Animation能被用來制作基本的頁面圖片動態(tài)效果,當(dāng)然進一步的控制還是需要JavaScript的2016-05-20- 這篇文章主要介紹了CSS3中Animation屬性的使用詳解,是CSS3入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-08-06
CSS3的transition和animation的用法實例介紹
transition用于設(shè)定一個元素的兩個狀態(tài),不同的狀態(tài)可以用偽類,下面與大家分享下CSS3的transition和animation的用法,需要的朋友可以參考下2014-08-20CSS3中利用animation屬性創(chuàng)建雪花飄落特效
在CSS3中我們可以使用animation屬性來創(chuàng)建復(fù)雜的動畫效果,本文就要借助它實現(xiàn)雪花飄落特效,功能代碼如下,希望對大家學(xué)習(xí)css3有所幫助2014-05-14