談?wù)凜SS3 transition與animation的區(qū)別

我們?yōu)轫撁嬖O(shè)置動畫時,往往會用到transition還有animation以及transfrom屬性或者用到j(luò)s。

其實通常情況下,對于使用js我們更加傾向于使用css來設(shè)置動畫。

transfrom就不用說了,它本身就一個css屬性。

transition 是可以為一個或者多個用數(shù)值表示的CSS屬性發(fā)生變化時添加動畫效果。

.demo{

overflow: hidden;

width: 100px;

height: 100px;

position: relative;

}


.aaa{ width: 100%; height: 50px;

position: absolute; bottom: -50px; opacity: 0;

-webkit-transition: all 0.85s ease; -moz-transition: all 0.85s ease; -o-transition: all 0.85s ease; -ms-transition: all 0.85s ease; transition: all 0.85s ease; }


.demo:hover .aaa{

opacity: 1;

bottom: 0;

}

transition的屬性有transition-property(css屬性name,transition效果)、transition-duration(動畫持續(xù)多少秒)、transition-timing-function(動畫的變化過程速度曲線)、transition-delay(動畫開始的時候,也就是延遲多少秒)

相對于animation,transition從某種層度上講,動畫控制的更粗一些,它唯一能定義動畫變化過程效果的便是transition-timing-function屬性,而animation提供的keyframe方法,可以讓你手動去指定每個階段的屬性。此外animation還封裝了循環(huán)次數(shù),動畫延遲,反向循環(huán)等功能,更加自由和強(qiáng)大。

.animation:before, .animation:after{

content:'';

width: 50%;

height: 100%;?

animation: mymove 3s ease-in-out alternate infinite; -moz-animation: mymove 3s ease-in-out alternate infinite; -webkit-animation: mymove 3s ease-in-out alternate infinite; -o-animation: mymove 3s ease-in-out alternate infinite;

}?

@keyframes mymove {

from { width: 50%; }

to { width: 0%; }

}

這里就不貼出keyframes瀏覽器適配了。

同時還可以這樣想,transition是從:hover延伸出來的,不管是動態(tài)設(shè)置的還是非動態(tài)設(shè)置的過渡效果,只要過渡效果指定的屬性值發(fā)生了變化就會觸發(fā)過渡效果。

而animation是從flash延伸出來的,使用關(guān)鍵幀的概念,如果是非動態(tài)設(shè)置的,那么頁面加載完后就會觸發(fā)動畫效果;如果是動態(tài)設(shè)置的,那么設(shè)置完后(假設(shè)沒有設(shè)置 delay)就會觸發(fā)動畫效果。后面再改變屬性值也不會觸發(fā)動畫效果了,除了一種情況(這種情況不會觸發(fā)transition定義的過渡效果),就是元素從 display:none 狀態(tài)變成非 display:none 狀態(tài)時,也會觸發(fā)動畫效果。

極端條件下,animation占用的資源相應(yīng)的比transition多,所以如果能用transition實現(xiàn),就盡量用transition來實現(xiàn),如果追求復(fù)雜更自由的動畫,就可以用animation。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    love2013閱讀 2,460評論 0 11
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 2,136評論 0 2
  • 變形--旋轉(zhuǎn) rotate() 旋轉(zhuǎn)rotate()函數(shù)通過指定的角度參數(shù)使元素相對原點進(jìn)行旋轉(zhuǎn)。它主要在二維空間...
    阿振_sc閱讀 984評論 1 5
  • 看了很多視頻、文章,最后卻通通忘記了,別人的知識依舊是別人的,自己卻什么都沒獲得。此系列文章旨在加深自己的印象,因...
    DCbryant閱讀 1,987評論 0 4
  • CSS參考手冊 一、初識CSS3 1.1 CSS是什么 CSS3在CSS2.1的基礎(chǔ)上增加了很多強(qiáng)大的新功能。目前...
    沒汁帥閱讀 4,296評論 1 13

友情鏈接更多精彩內(nèi)容