本篇文章給大家分享的是有關(guān)如何實現(xiàn)css3動畫屬性之Transitions屬性與Animations屬性的功能,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
公司主營業(yè)務(wù):網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出洛陽免費做網(wǎng)站回饋大家。
(1)瀏覽器支持:
到目前為止:Safari3.1以上、Chrome8以上、Firefox4以上、Opera10以上、IE11以上瀏覽器支持該功能。
(2)功能
在CSS3中,Transitions功能通過將元素的某個屬性從一個屬性值在指定的時間內(nèi)平滑過渡到另一個屬性值來實現(xiàn)動畫功能。
(3)使用方法
property:表示對哪個屬性進行平滑過渡。
duration:表示在多久時間內(nèi)完成屬性值得平滑過渡。
timing-function:表示通過什么方法進行平滑過渡。
div{ background-color:#ffff00; transition:background-color 1s linear;//在1秒內(nèi)讓div元素的背景色從黃色平滑過渡到淺藍色。 } div{ background-color:#00ffff; }
(4)另一種使用方法
transition-property:background-color; transition-duration:1; transition-timing-function:linear;
(5)transition-delay屬性
指定變換動畫特效延遲多久后開始執(zhí)行??梢杂妹雴挝换蚝撩雴挝恢付▽傩灾?。
transition-delay:1s; //或 transition:background-color 1s linear 2s;(在第四個參數(shù)中書寫延遲時間)
(6)使用Transitions功能同時平滑過渡多個屬性值
transition:background-color 1s linear,color 1s linear,width 1s linear;
(7)移動、旋轉(zhuǎn)等動畫效果
img{ position:absolute;top:70px;left:0; transform:rotate(0deg); transition:left 1s linear,transform 1s linear; } img:hover{ left:30px; transform:rotate(720deg); }
(8)缺點
只能指定屬性的開始值與終點值,然后再這兩個屬性值之間實現(xiàn)平滑過渡,不能實現(xiàn)更為復(fù)雜的動畫效果。
(1)瀏覽器支持:
到目前為止:Safari4以上、Chrome2以上、Firefox20以上、Opera18以上、IE11以上瀏覽器支持該功能。
(2)功能
與Transitions功能相同,都是通過改變元素的屬性值來實現(xiàn)動畫效果。
區(qū)別:Animations功能通過定義多個關(guān)鍵幀以及定義每個關(guān)鍵幀中元素的屬性值來實現(xiàn)更為復(fù)雜的動畫效果。
(3)創(chuàng)建關(guān)鍵幀的集合
@keyframes 關(guān)鍵幀集合名{ 創(chuàng)建關(guān)鍵幀的代碼 }
(4)創(chuàng)建關(guān)鍵幀的代碼(類似如下)
40%{ 本關(guān)鍵幀中的樣式代碼 }
(40%表示改幀位于整個動畫過程中的40%處,開始幀為0%,結(jié)束幀為100%)
@keyframes mycolor{ 0%{ background-color:red; } 40%{ background-color:darkblue; } 70%{ background-color:yellow; } 100%{ background-color:red; } }
(5)在元素的樣式中使用該關(guān)鍵幀的集合
div{ animation-name:my-color; //指定關(guān)鍵幀集合的名稱 animation-duration:5s; //指定完成整個動畫所花費的時間 animation-timing-function:linear; //指定實現(xiàn)動畫的方法 }
(6)其他屬性
animation-delay:用于指定延遲多少秒或毫秒后開始執(zhí)行動畫。
animation-iteration-count:用于指定動畫的執(zhí)行次數(shù),可指定為infinite(無限次)。
animation-direction:用于指定動畫的執(zhí)行方向??芍付▽傩灾蛋ǎ?/p>
normal:初始值(動畫執(zhí)行完畢后返回初始狀態(tài))
alternate:交替更換動畫的執(zhí)行方向
reverse:反方向執(zhí)行動畫
alternate-reverse:從反方向開始交替更改動畫的執(zhí)行方向
(7)在一行樣式代碼中定義animation動畫時采用如下所示的書寫方式
animation:keyframe的名稱 動畫的執(zhí)行時長 動畫的實現(xiàn)方法 延遲多少秒后開始執(zhí)行動畫 動畫的執(zhí)行次數(shù) 動畫的執(zhí)行方向;
(8)實現(xiàn)多個屬性值同時改變的動畫
只需只在各關(guān)鍵幀中同時指定這些屬性值就可以了。
方法 | 屬性值的變化速度 |
linear | 在動畫開始時與結(jié)束時以同樣速度進行改變 |
ease-in | 動畫開始時速度很慢,然后速度沿曲線值進行加快 |
ease-out | 動畫開始時速度很快,然后速度沿曲線值進行放慢 |
ease | 動畫開始時速度很慢,然后速度沿曲線值進行加快,然后再沿曲線值進行放慢 |
ease-in-out | 動畫開始時速度很慢,然后速度沿曲線值進行加快,然后再沿曲線值進行放慢 |
通過在開始幀與結(jié)束幀中改變頁面的opacity屬性的屬性值來實現(xiàn)頁面的淡入效果。
@keyframes fadein{ 0%{ opacity:0; background-color:white; } 100%{ opacity:1; background-color:white; } body{ animation-name: fadein; animation-duration:5s; animation-timing-function:linear; animation-iteration-count:1; }
以上就是如何實現(xiàn)css3動畫屬性之Transitions屬性與Animations屬性的功能,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。