亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

章節
問答
課簽
筆記
評論
占位
占位

精靈動畫的實現

CSS Sprites在國內很多人叫CSS精靈,其實這個技術不新鮮,原理就是:靠不斷的切換圖片讓人感覺視覺上不斷在變化,例如gif動畫之類的效果

那么前端如何實現精靈效果?

傳統的就是靠定時器不斷去改變一個元素的background-image屬性了,簡單的來說就是靠不斷的替換圖片,但是值得注意的問題就是圖片如果很多,加載會比較慢,會占用大量網絡資源

大多數的做法就是把圖片都合成一張大圖再利用CSS的以下屬性

background-image
background-repeat
background-position

組合進行背景定位,background-position可以用數字精確的定位出背景圖片的位置

這里我將采用最新的CSS3的動畫實現。通過 CSS3我們能夠創建動畫,這可以在許多網頁中取代動畫圖片、Flash 動畫以及 JavaScript。

新增一個class類slowWalk,在這個類中定義一個animation,通過關鍵幀keyframes定義一些規則,就是如何取圖片坐標

  • slowWalk樣式,用于定義一些動畫參數,比如執行的時間、方式、算法、次數等等
  • @keyframes 規則用于創建動畫。在 @keyframes 中規定某項 CSS 樣式,就能創建由當前樣式逐漸改為新樣式的動畫效果

右邊代碼區域所示,為方便理解,解讀一下樣式的slowWalk類定義規則:

定義一個名為person-slow的@keyframes規則,@keyframes用百分比來規定變化發生的時間, 0% 是動畫的開始,100% 是動畫的完成,規則中有4個百分比值的變化,每個比值分別通過position獲取一張圖片,分別是0%,25%,50%,75%,100%。在950毫米內從0%-100%發生4次變化,采用的算法是steps(1, start)一幀一幀的切換,通過設置infinite參數每950毫秒不斷循環

通過點擊開始動畫按鈕,我們可以看到最終效果,完全靠CSS實現,非常nice!!!!

任務

打開index.html文件,在代碼的23行填入相應代碼,通過定義個CCS3的樣式規則,讓人物開始進行幀動畫切換

    /*規定 @keyframes 動畫的名稱。*/
    -webkit-animation-name: person-slow; 
    /*規定動畫完成一個周期所花費的秒或毫秒。默認是 0*/
    -webkit-animation-duration: 950ms;
    /*規定動畫被播放的次數。默認是 1。 infinite(循環播放)*/
    -webkit-animation-iteration-count: infinite;
    /*動畫切換的方式是一幀一幀的改變*/
    -webkit-animation-timing-function: steps(1, start);
    -moz-animation-name: person-slow;
    -moz-animation-duration: 950ms;
    -moz-animation-iteration-count: infinite;
    -moz-animation-timing-function: steps(1, start)
?不會了怎么辦
||

提問題

寫筆記

公開筆記
提交
||

請驗證,完成請求

由于請求次數過多,請先驗證,完成再次請求

加群二維碼

打開微信掃碼自動綁定

您還未綁定服務號

綁定后可得到

  • · 粉絲專屬優惠福利
  • · 大咖直播交流干貨
  • · 課程更新,問題答復提醒
  • · 賬號支付安全提醒

收藏課程后,能更快找到我哦~

使用 Ctrl+D 可將課程添加到書簽

邀請您關注公眾號
關注后,及時獲悉本課程動態

舉報

0/150
提交
取消
全部 精華 我要發布
全部 我要發布
最熱 最新
只看我的

手記推薦

更多

本次提問將花費2個積分

你的積分不足,無法發表

為什么扣積分?

本次提問將花費2個積分

繼續發表請點擊 "確定"

為什么扣積分?