導航:首頁 > 編程大全 > css3動畫工具

css3動畫工具

發布時間:2023-03-04 20:44:17

❶ CSS3@keyframes規則和animation動畫

CSS3中新增了動畫相關的屬性,其中@keyframes規則用於設置創建動畫,其原理其實就是將一套css樣式逐漸變成另外一套css樣式,在@keyframes中可以使用百分比表示動畫進度對應的樣式,0% 是動畫的開始樣式,100% 動畫的結束樣式,每個樣式可以稱為"關鍵幀樣式",每個動畫可以包含很多幀,每一幀可以設置一個或多個樣式。語法格式: @keyframes 動畫名:{0%:{css樣式} ... 100%:{css樣式}} ,其中關鍵幀合法值是0-100%,from與 0% 相同,to與 100% 相同

使用@keyframes定義了動畫,那如何使用呢?
那就得在對應要使用該動畫的元素上添加animation屬性
animation是一個復合屬性,是所有動畫屬性的縮寫,除animation-play-state
1. animation-name 動畫名,表示要應用哪個動畫
2. animation-ration 動畫完成一個周期所花費的時間(秒或毫秒數),默認0
3. animation-timing-function 表示動畫速度曲線,常用關鍵字linear、ease、ease-in、ease-out、ease-in-out,默認是ease。還可以使用cubic-bezier(n,n,n,n)設置
4. animation-delay 動畫延遲時間,默認0
5. animation-iteration-count 動畫播放次數,默認1 只播一次
6. animation-direction 設置動畫在下個播放周期是否逆轉方向,默認是 "normal"正常播放,alternate輪流反向播放
7. animation-fill-mode 用於設置動畫填充模式,none 不改變默認行為;forwards當動畫完成後,保持最後一個屬性值(在最後一個關鍵幀中定義);backwards在 animation-delay 所指定的一段時間內,在動畫顯示之前,應用開始屬性值(在第一個關鍵幀中定義);both向前和向後填充模式都被應用
8. animation-play-state 設置動畫播放狀態,paused動畫已暫停,running是默認值,表示動畫正在運行播放

❷ 小程序如何使用css3動畫

1、利用樣式實現小程序動畫(用法和css用法相識)
wxml 文件

<image class="aniamtion" src="../../images/page4.jfif" style="width:200rpx;height:200rpx; position: relative;"></image>

wxss文件

.aniamtion {

animation: mymove 5s infinite;

/* //infinite屬性是表示無限循環的意思,沒有這個屬性的話動畫只執行一次。 */

}


@keyframes mymove {

from {

/* left: 0px; */

/* transform: rotate(7deg) skew(50deg) translate(30rpx,30rpx); */

transform: rotate3d(100,200,300,0deg);

}


to {

/* left: 200px; */

/* transform: rotate(7deg) skew(5deg) translate(100rpx,100rpx); */

transform: rotate3d(200,300,400,360deg);

}

}


2、 用小程序的API來實現動畫
用wx.createAnimation(object) 來創建一個動畫 -->返回一個animation對象
創建一個動畫實例 animation。

onReady: function () {

this.animation = wx.createAnimation({

ration:1000,

timingFunction:'linear',

delay:100,

transformOrigin:"left top 0"

})

},

調用實例的方法來描述動畫。
Animation.step() 表示一組動畫的完成,可以在一組動畫中調用任意多個動畫方法,一組動畫中的所有動畫會同時開始,一組動畫完成後才會進行下一組動畫

rotate(){

this.animation.rotate(150).step() //對動畫進行簡單的描述

this.setData({

animation:this.animation.export()

})

},

最後通過動畫實例的 export 方法導出動畫數據傳遞給組件的 animation 屬性。
this.animation.export() 導出動畫隊列。export 方法每次調用後會清掉之前的動畫操作

rotate(){

this.animation.rotate(150).step() //對動畫進行簡單的描述

this.setData({ // 在setData({}) 導出動畫數據數據給組件

animation:this.animation.export()

})

},

完整的wxml

<view class="container">

<view animation="{{animation}}" class="view">

將做動畫的塊

</view>

</view>

<button type="default" size="mini" bindtap="rotate">

旋轉

</button>

完整的wxjs

Page({

data: {

animation:''

},

onReady: function () {

this.animation = wx.createAnimation({

ration:1000,

timingFunction:'linear',

delay:100,

transformOrigin:"left top 0"

})

},

rotate(){

this.animation.rotate(150).step().translate(100).step()

this.setData({

animation:this.animation.export()

})

}

})


3、用選擇器來綁定組件來來實現組件的動畫(小程序2.9.0 的庫可用,版本不夠會報this.animate不是一個方法)

<text>pages/index7/index7.wxml</text>

<view id="container" style="height: 100px; width: 100px; background-color: blue;">

container

</view>

<view class="block" style="height: 100px; width: 100px;background-color: #ccc;">

block

</view>

用選擇器選擇相應的組件進行相應的動畫
進行關鍵幀的處理

onLoad: function () {

this.animate('#container', [

{ opacity: 1.0, rotate: 0, backgroundColor: '#FF0000' },

{ opacity: 0.5, rotate: 45, backgroundColor: '#00FF00' },

{ opacity: 1.0, rotate: 90, backgroundColor: '#FF0000' },

], 5000)

this.animate('.block', [

{ scale: [1, 1], rotate: 0, ease: 'ease-out' },

{ scale: [1.5, 1.5], rotate: 45, ease: 'ease-in'},

{ scale: [2, 2], rotate: 90 },

], 5000)

},

}


4、用第三方的庫 animation.css

需要做的有

從https://daneden.github.io/animate.css/下載css動畫文件

把 .css 文件 改名成 .wxss文件(可進行相應的需改,畢竟小程序的大小限制擺在那裡)

把它引入到你的app.wxss文件中

@import 「動畫文件的相對目錄」

在用的時候把他和你的樣式綁定

<view class="swing" style="height: 100px; width: 100px;background-color: #ccc;">

block

</view>

// 給類名為swing 的文件綁定swing 的動畫

.swing{

animation: swing 5s infinite;

}

閱讀全文

與css3動畫工具相關的資料

熱點內容
程序員死後網站怎麼處理 瀏覽:667
數控編程方向怎麼寫 瀏覽:591
win10怎麼找到寫字板 瀏覽:756
陰陽師安卓獨立版本 瀏覽:395
無法復制u盤內的文件錯誤 瀏覽:737
u盤裝系統不是iso文件 瀏覽:181
vivoy18l刷安卓44 瀏覽:853
wifi和數據哪個好 瀏覽:695
哪裡適合孩子學習編程 瀏覽:773
miui8桌面文件夾 瀏覽:18
哪些文件值得收藏 瀏覽:549
linux查看幾兆網卡 瀏覽:386
iphone4清理後台 瀏覽:599
new文件怎麼改為pdf 瀏覽:930
刻錄文件用什麼列印機 瀏覽:888
德國大數據工程師年薪大概多少錢 瀏覽:870
訓練哪個app好 瀏覽:821
90版本新男魔法師刷圖加點2015 瀏覽:881
如何進行數據差異性比較 瀏覽:68
微信聊天記錄默認存在哪個文件夾 瀏覽:252

友情鏈接