CSS3與動畫有關(guān)的屬性transition、animation、transform對比(史上最全版)

最近應公司需求,需要用css3做動畫,終于把以前一直傻傻分不清楚的三個屬性理解了。
索性在這里進行一個簡單的對比,加深自己的記憶。
瀏覽器兼容性
CSS3 transform 屬性
Internet Explorer 10、Firefox、Opera 支持 transform 屬性。
Internet Explorer 9 支持替代的 -ms-transform 屬性(僅適用于 2D 轉(zhuǎn)換)。
Safari 和 Chrome 支持替代的 -webkit-transform 屬性(3D 和 2D 轉(zhuǎn)換)。
Opera 只支持 2D 轉(zhuǎn)換。
transform:rotate(7deg); -ms-transform:rotate(7deg); /* IE 9 */ -moz-transform:rotate(7deg); /* Firefox */ -webkit-transform:rotate(7deg); /* Safari 和 Chrome */ -o-transform:rotate(7deg); /* Opera */
CSS3 animation 屬性
Internet Explorer 10、Firefox 以及 Opera 支持 animation 屬性。
Safari 和 Chrome 支持替代的 -webkit-animation 屬性。
注釋:Internet Explorer 9 以及更早的版本不支持 animation 屬性。
用法:
animation:mymove 5s infinite; -webkit-animation:mymove 5s infinite; /* Safari 和 Chrome */
CSS3 transition 屬性
Internet Explorer 10、Firefox、Opera 和 Chrome 支持 transition 屬性。
Safari 支持替代的 -webkit-transition 屬性。
注釋:Internet Explorer 9 以及更早版本的瀏覽器不支持 transition 屬性。
用法:
transition: width 2s; -moz-transition: width 2s; /* Firefox 4 */ -webkit-transition: width 2s; /* Safari 和 Chrome */ -o-transition: width 2s;
其他對比
transition和animation屬于動畫屬性,transform屬于靜態(tài)屬性。
根據(jù)英文單詞的理解:轉(zhuǎn)換,變換,transform主要指位移、大小、位置、形狀的轉(zhuǎn)換,直接寫該屬性變換,得到的就是變換后的形狀和位置。
transition和animation因為都屬于動畫屬性,所以都具有以下
property
duration
timing-function
delay
屬性、動畫時間、動畫形式、延遲時間對于animation,property變成了動畫的名稱animation獨有的屬性有:
animation-iteration-count
animation-direction
一個要定義動畫播放的次數(shù),一個為定義動畫是否輪流反向播放
簡寫形式對比:
transition屬性:過渡,即css變化的過程的過渡,所以定義transition屬性的意義為,當定義過transition的屬性,發(fā)生了變化,都會按照這個過渡的動畫進行轉(zhuǎn)變,而不是生硬的直接轉(zhuǎn)變,這樣就為動畫提供了很好的方式。一般我們寫:
-webkit-transition:all 0.85s ease-in 0.1s;
-o-transition:all 0.85s ease-in 0.1s;
-moz-transition:all 0.85s ease-in 0.1s;
transition:all 0.85s ease-in 0.1s;
all代表這所有屬性的變化都會按照這個過渡進行變化
animation寫法:
-webkit-animation: tang1 0.5s ease 0s infinite alternate;
animation: tang1 0.5s ease 0s infinite alternate;
簡寫形式,animation后面多了動畫次數(shù)和是否輪流反向播放
animation開頭的為動畫名稱,所以這里我們要先定義動畫如何變換:
@keyframes tang1 { from {left:0px;} to {left:200px;} } @-webkit-keyframes tang1 /*Safari and Chrome*/ { from {left:0px;} to {left:200px;} }
因為瀏覽器兼容性,這里定義動畫時也要寫到。
from代表0%的時候,to 代表100%的時候。
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助~如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持!
相關(guān)文章
解決CSS3 transition-delay 屬性默認值0不帶單位失效的問題
這篇文章主要介紹了解決CSS3 transition-delay 屬性默認值0不帶單位失效的問題,本文給大介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-29CSS3使用transition屬性實現(xiàn)過渡效果
CSS3中新增的transform屬性,可以實現(xiàn)元素在變換過程中的過渡效果,實現(xiàn)了基本的動畫。下面通過本文給大家介紹CSS3使用transition屬性實現(xiàn)過渡效果,需要的朋友參考下本文2018-04-18詳解css3 Transition屬性(平滑過渡菜單欄案例)
這篇文章主要介紹了詳解css3 Transition屬性(平滑過渡菜單欄案例)的相關(guān)資料,需要的朋友可以參考下2017-09-05- 大家都知道過渡動畫是動畫的基礎,在學習動畫屬性之前,我們需要先了解過渡屬性transition,下面這篇文章通過示例代碼給大家詳細介紹了CSS3中的元素過渡屬性transition,有2016-11-30
CSS3中動畫屬性transform、transition和animation屬性的區(qū)別
最近在項目中用到了CSS3中的動畫屬性。無奈對于css3幾個新加的屬性不太熟悉,常常容易搞混。所以從網(wǎng)站研究了點資料,總結(jié)一下,方便有需要的朋友們可以參考學習。2016-09-25- css3中通過transition屬性可以實現(xiàn)一些簡單的動畫過渡效果,今天通過本文給大家介紹下css3中transition屬性的示例代碼,感興趣的朋友跟隨小編一起看看吧2022-02-18