css逐幀動(dòng)畫

我們經(jīng)常使用css3中的animation動(dòng)畫玉吁,比如這樣:

.fadeIn{
  animation: fadeIn .5s ease 1s both;
}
@keyframes fadeIn{
  from{
    opacity:0;
  }
  to{
    opacity:1
  }
}

這樣就實(shí)現(xiàn)了延時(shí)1s,一共0.5s的淡入動(dòng)畫场斑。其中ease是animation-timing-function的默認(rèn)值刻两。
animation-timing-function使用了三次貝塞爾(Cubic Bezier)函數(shù)生成速度曲線,可以讓我們的動(dòng)畫產(chǎn)生平滑的過(guò)渡杆逗。
但是有的時(shí)候我們并不想要平滑的過(guò)渡,比如想要實(shí)現(xiàn)下面小人跑動(dòng)的效果鳞疲,該怎么實(shí)現(xiàn)呢罪郊?

小人跑動(dòng)動(dòng)畫
  • 我們可以將小人跑動(dòng)的動(dòng)作分解,拼成下面的雪碧圖:


    小人動(dòng)作分解
  • 通過(guò)設(shè)置不同的background-position設(shè)置不同時(shí)間小人不通的動(dòng)作
@keyframes run {
  0% {
    background-position: 0 0
  }
  10%{
    background-position: -100% 0
  }
  20%{
    background-position: -200% 0
  }
  30%{
    background-position: -300% 0
  }
  40%{
    background-position: -400% 0
  }
  50%{
    background-position: 0 -100%
  }
  60%{
    background-position: -100% -100%
  }
  70%{
    background-position: -200% -100%
  }
  80%{
    background-position: -300% -100%
  }
  90%{
    background-position: -400% -100%
  }
  100%{
    background-position: 0 0
  }
}
  • 用animation讓動(dòng)畫動(dòng)起來(lái)吧尚洽,想讓動(dòng)畫每幀動(dòng)悔橄,而不帶中間的過(guò)渡效果animation-timing-function要設(shè)置成steps函數(shù)
.people{
    width: 100px;
    height: 114px;
    background: url(../images/people.png);
    -webkit-animation:run 1s steps(1) 0s infinite both;
    animation:run 1s steps(1) 0s infinite both;
}
小人跑動(dòng)動(dòng)畫
  • 小人動(dòng)起來(lái)啦!

或者更簡(jiǎn)單腺毫,把雪碧圖拼成這樣:

小人動(dòng)作分解.png
.people{
    width: 100px;
    height: 114px;
    background: url(../images/people.png);
    -webkit-animation:run 1s steps(9) 0s infinite both;
    animation:run 1s steps(9) 0s infinite both;
}

@-webkit-keyframes run {
  to{
    background-position: -900% 0
  }
}

steps函數(shù)接受兩個(gè)參數(shù)癣疟,第一個(gè)參數(shù)會(huì)根據(jù)你指定的步進(jìn)數(shù)量,把整個(gè)動(dòng)畫切分為多幀潮酒,第二個(gè)可選的參數(shù)可以是 start 或 end(默認(rèn))睛挚。這個(gè)參數(shù)用于指定動(dòng)畫在每個(gè)循環(huán)周期的什么位置發(fā)生幀的切換動(dòng)作。還可以使用 step-start 和 step-end 這樣的簡(jiǎn)寫屬性,它們分別等同于 steps(1, start) 和 steps(1, end)
很多時(shí)候我們的gif動(dòng)畫都可以直接用css效果實(shí)現(xiàn)急黎,快來(lái)試試吧竞川!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市叁熔,隨后出現(xiàn)的幾起案子委乌,更是在濱河造成了極大的恐慌,老刑警劉巖荣回,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件遭贸,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡心软,警方通過(guò)查閱死者的電腦和手機(jī)壕吹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)删铃,“玉大人耳贬,你說(shuō)我怎么就攤上這事×匝洌” “怎么了咒劲?”我有些...
    開(kāi)封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我腐魂,道長(zhǎng)帐偎,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任蛔屹,我火速辦了婚禮削樊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘兔毒。我一直安慰自己漫贞,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布育叁。 她就那樣靜靜地躺著迅脐,像睡著了一般。 火紅的嫁衣襯著肌膚如雪擂红。 梳的紋絲不亂的頭發(fā)上仪际,一...
    開(kāi)封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天围小,我揣著相機(jī)與錄音昵骤,去河邊找鬼。 笑死肯适,一個(gè)胖子當(dāng)著我的面吹牛变秦,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播框舔,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蹦玫,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了刘绣?” 一聲冷哼從身側(cè)響起樱溉,我...
    開(kāi)封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎纬凤,沒(méi)想到半個(gè)月后福贞,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡停士,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年挖帘,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片恋技。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拇舀,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蜻底,到底是詐尸還是另有隱情骄崩,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站刁赖,受9級(jí)特大地震影響搁痛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宇弛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一鸡典、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧枪芒,春花似錦彻况、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至抽碌,卻和暖如春悍赢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背货徙。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工左权, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人痴颊。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓赏迟,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蠢棱。 傳聞我的和親對(duì)象是個(gè)殘疾皇子锌杀,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 在很多時(shí)候,我們需要一個(gè)很難(或不可能)只通過(guò)某些CSS屬性的過(guò)渡來(lái)實(shí)現(xiàn)的動(dòng)畫。比如一段卡通影片,或是一個(gè)復(fù)雜的進(jìn)...
    博為峰51Code教研組閱讀 569評(píng)論 0 0
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color泻仙,font糕再,text-align,li...
    wzhiq896閱讀 1,751評(píng)論 0 2
  • 看了很多視頻玉转、文章突想,最后卻通通忘記了,別人的知識(shí)依舊是別人的冤吨,自己卻什么都沒(méi)獲得蒿柳。此系列文章旨在加深自己的印象,因...
    DCbryant閱讀 1,861評(píng)論 0 4
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color漩蟆,font垒探,text-align,li...
    love2013閱讀 2,314評(píng)論 0 11
  • transition-property transition-property:none| [',' ]* =al...
    april_Dong閱讀 640評(píng)論 0 0