一 、GIF圖片
GIF圖就直接貼上圖片就好了,使用非常簡(jiǎn)單,但GIF圖有時(shí)出現(xiàn)問(wèn)題是沒(méi)辦法控制的,比如常見(jiàn)的GIF圖的閃爍現(xiàn)象。
二 、SVG
SVG動(dòng)畫(huà)由SVG元素內(nèi)部的元素屬性控制,一般通過(guò)一下幾個(gè)元素控制:
用于控制動(dòng)畫(huà)延時(shí)
對(duì)屬性的連續(xù)改變進(jìn)行控制
顏色變化,但用就能控制
控制如縮放、旋轉(zhuǎn)等幾何變化
控制SVG內(nèi)元素的移動(dòng)路徑
三 、css animation
animation 算是真正意義上的CSS3動(dòng)畫(huà)。通過(guò)對(duì)關(guān)鍵幀和循環(huán)次數(shù)的控制,頁(yè)面標(biāo)簽元素會(huì)根據(jù)設(shè)定好的樣式改變進(jìn)行平滑過(guò)渡。而且關(guān)鍵幀狀態(tài)的控制是通過(guò)百分比來(lái)控制的。
四 、CSS3 transition
transition是過(guò)度動(dòng)畫(huà)。但是transition并不能實(shí)現(xiàn)獨(dú)立的動(dòng)畫(huà),只能在某個(gè)標(biāo)簽元素樣式或狀態(tài)改變時(shí)進(jìn)行平滑的動(dòng)畫(huà)效果過(guò)渡,而不是馬上改變。
五 、requestAnimationFrame
requestAnimationFrame是另一種Web API,原理與setTimeout和setInterval類(lèi)似,都是通過(guò)javascript持續(xù)循環(huán)的方法調(diào)用來(lái)觸發(fā)動(dòng)畫(huà)動(dòng)作。但是requestAnimationFrame是瀏覽器針對(duì)動(dòng)畫(huà)專(zhuān)門(mén)優(yōu)化形成的APi
六 、Canvas
setInterval或setTimeout
javascript 函數(shù)來(lái)持續(xù)調(diào)用改變某個(gè)元素的CSS樣式以達(dá)到元素樣式變化的效果
七 、three.js