CSS3技術值得一提的就是其強大的動畫效果,其中跑步動畫也是眾多特效之一,讓我們深入了解一下它的實現原理。
/* 創建一個承載跑步動畫的容器 */ .run-animation-container { position: relative; width: 100px; height: 100px; } /* 創建一個表示人物的div,進行跑步動畫的關鍵幀設置 */ .run-animation { position: absolute; width: 24px; height: 28px; background-image: url("person.png"); background-size: 94px 28px; animation-name: run-cycle; animation-duration: 1s; animation-timing-function: steps(8); animation-iteration-count: infinite; } /* 定義跑步動畫關鍵幀 */ @keyframes run-cycle { from { background-position: 0px 0px; } to { background-position: -2176px 0px; } }
以上代碼創建了一個容器,容器里有一個代表人物的div,并進行了跑步動畫的關鍵幀設置。其中animation-name定義動畫名稱,animation-duration定義了每一輪動畫運行多少秒,animation-timing-function確定了動畫執行的速度,animation-iteration-count固定了動畫的循環次數。
在關鍵幀設置中,from表示動畫開始狀態,to表示結束狀態,通過background-position變化來讓人物跑步的動畫效果呈現。
需要注意的是,在實現這個動畫效果之前,需要將人物動畫切割成若干個小圖,使用background-position進行精確定位,才能表現出人物跑步的效果。