日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

利用 CSS animation 和 CSS sprite 制作动画

發布時間:2024/1/17 70 豆豆
生活随笔 收集整理的這篇文章主要介紹了 利用 CSS animation 和 CSS sprite 制作动画 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

CSS3 大大強化了制作動畫的能力,但是如果要做出圖案比較復雜的動畫,選擇 GIF 依然是一個不錯的選擇。今天給大家介紹一個使用 CSS animation 配合雪碧圖(CSS sprite)來制作動畫的方法,可以做出類似于 GIF 動畫的效果。

CSS3 Animation steps函數

首先看看,CSS3 animation的兼容性。可以看到基本上主流瀏覽器都支持了 animation 屬性,chrome、safari、opera和移動端的瀏覽器帶上前綴就可以支持。

利用雪碧圖來制作動畫使用了 CSS3 Animation 里面的一個重要的函數 steps。

animation 本身是一個復合的屬性,它包含了 animation-name,animation-timing-function,animation-iteration-count,animation-direction,animation-play-state,animation-fill-mode 六個屬性。

steps 就是屬于 animation-timing-function 中的一個函數。

animation-timing-function 平時我們用的比較多的是默認的一些動畫曲線值 ease、ease-in 等等。而 steps 則可以由我們控制動畫被分成多少個部分進行。

steps(n,[start|end]) 傳入一到兩個參數,第一個參數意思是把動畫分成 n 等分,然后動畫就會平均地運行。第二個參數 start 表示從動畫的開頭開始運行,相反,end 就表示從動畫的結尾開始運行,默認值為 end。

因此,我們利用雪碧圖和 steps 函數制作動畫的原理就是,雪碧圖包含了動畫圖片的每一幀,然后利用 steps 函數確定固定時間內動畫運行的部分等于動畫的幀數,從而實現動畫效果。

動畫實例

用猥瑣的兔斯基做例子╮( ̄▽ ̄")╭

首先我們要切圖,把動畫的每一幀切成這樣的圖:

切圖如果大家不想折騰,推薦在線合并雪碧圖的工具。

然后寫 keyframes

@-webkit-keyframes tuski {0% {background-position:0;}100% {background-position: -576px 0;} } @-moz-keyframes tuski {0% {background-position:0;}100% {background-position: -576px 0;} } @keyframes tuski {0% {background-position:0;}100% {background-position: -576px 0;} }

調用動畫

#tuski {-webkit-animation: tuski .5s steps(12) infinite;-moz-animation: tuski .5s steps(12) infinite;animation: tuski .5s steps(12) infinite; }

與 GIF 相比,這種動畫可以讓我們手動調整動畫運行的速度。

點這里看完整的代碼。

大功告成。

感謝您的閱讀,有不足之處請為我指出。

本文同步于我的個人博客 http://blog.acwong.org/2015/03/23/make-animation-with-steps-and-css-sprite/

總結

以上是生活随笔為你收集整理的利用 CSS animation 和 CSS sprite 制作动画的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。