強大的CSS動畫:Transition與Animation
本文總結CSS3中兩個用來做動畫的屬性,一個是
transition
,另一個是animation
。
差異比較
CSS3 | 差異 |
---|---|
transition
|
在給定的持續時間內平滑地更改屬性值(從一個值到另一個值),也就是隻需要指定開始與結束的引數,引數改變時就觸發動畫。 |
|
常用語滑鼠事件(
:hover
、
active
、
:focus
、
:click
)或鍵盤輸入時觸發
|
|
需要事件觸發,無法在網頁載入時自動發生。一次性,不能重複發生,除非一再觸發。 |
|
只能定義開始狀態和結束狀態,不能定義中間狀態。 |
animation
|
可以自行寫動畫開始、進行間、結束時各階段的變化,適合用來做較細微的動畫表現。需要明確的指定關鍵幀(
@keyframe
)的引數。
|
|
網頁載入時會直接執行,可以自行控制各階段動畫的變化 |
animation
和transition
最大的不同在於transition
是當引數改變時觸發,而animation
則是直接就執行,所有動畫效果需要明確的指定關鍵幀的引數。
CSS3 | 簡寫順序 |
---|---|
transition
|
property
名稱
timing-function
特效
|
animation
|
name
名稱
timing-function
特效
|
|
iteration-count
次數
fill-mode
填充模式
|
瀏覽器支援
transition
寫法
.box { width: 100px; height: 100px; background-color: purple; transition: width 2s ease-in 2s; } .box:hover { width: 200px; height: 200px; background-color: red; }
animation
寫法
.box { width: 100px; height: 100px; border: 1px solid #ccc; animation: change 5s; /*8個屬性中至少要有名稱、時間*/ } /*設定開始與結束狀態*/ /*from 就是0%,to 就是100%*/ @keyframes change { from { background-color: #4BC0C8; } to { background-color: #C779D0; } }
.box { width: 100px; height: 100px; border: 1px solid #ccc; animation: change 5s; /*8個屬性中至少要有名稱、時間*/ } /*設定開始與結束狀態*/ /*from 就是0%,to 就是100%*/ @keyframes change { 0% { background-color: #4BC0C8; } 20% { background-color: #C779D0; } 60% { background-color: #FEAC5E; } 80% { background-color: #185a9d; } 100% { background-color: #4BC0C8; } }
屬性 | 值 |
---|---|
animation-name
|
@keyframes
後的名稱
|
animation-duration
時間
|
time
以秒計算,如
3s initial
預設值
inherit
繼承父層
|
animation-timing-function
特效
|
linear
等速、
ease
、
ease-in
、
ease-out
、
ease-in-out
、
step-start
、
step-end
、
steps(int,start/end)
、
cubic-bezier(n,n,n,n)
可上官網取值使用
|
animation-delay
|
以秒計算,如
2s
|
animation-iteration-count
次數
|
number
預設值為
1
,因此填
2
時,動畫跑的次數為
1+2=3
次
infinite
無限迴圈
|
animation-direction
方向
|
normal
、
reverse
反向、
alternate
先反後正
|
animation-fill-mode
|
forwards
使用關鍵幀最後的值
backwards
使用最開始的值
both
|
animation-play-state
播放狀態
|
pause
暫停
running
為預設值
initial
預設值、
inherit
繼承父層
|
Animation.css
官網下載: Animate.css
自己是一個五年的前端工程師,希望本文對你有幫助!
這裡推薦一下我的前端學習交流扣qun:731771211 ,裡面都是學習前端的,如果你想製作酷炫的網頁,想學習程式設計。自己整理了一份2019最全面前端學習資料,從最基礎的HTML+CSS+JS【炫酷特效,遊戲,外掛封裝,設計模式】到移動端HTML5的專案實戰的學習資料都有整理,送給每一位前端小夥伴,每天分享技術
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901074/viewspace-2644857/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- CSS動畫:animation、transition、transform、translateCSS動畫ORM
- CSS animation 動畫CSS動畫
- CSS3 之 transform & transition & animationCSSS3ORM
- animation與transition 區別
- CSS3 animation 動畫CSSS3動畫
- css3 動畫(一) transitionCSSS3動畫
- CSS3 animation逐幀動畫CSSS3動畫
- Vue - 使用 transition 過渡動畫、Animate.css 庫動畫Vue動畫CSS
- css3 動畫(三)animation 簡介CSSS3動畫
- animation、transition、transform的區別ORM
- 強大的CSS:文字下波浪線動畫效果CSS動畫
- 【Vue】transition動畫Vue動畫
- CSS transition animation的使用(內含貝賽爾曲線詳解)CSS
- 前端深入之css篇丨2020年,徹底掌握css動畫【transition】前端CSS動畫
- 前端深入之css篇丨2020年,徹底掌握css動畫【animation】前端CSS動畫
- Flutter動畫之AnimationFlutter動畫
- 強大的CSS:模擬下雪效果動畫製作教程CSS動畫
- transform,transition,animation 的混合使用——結業篇ORM
- 核心動畫(Core Animation Programming)動畫
- 終於不再對transition和animation,傻傻分不清楚了 --vue中使用transition和animationVue
- CSS transitionCSS
- css3 transform與animation妙用CSSS3ORM
- 不可不知的WPF動畫(Animation)動畫
- 有關 animation 動畫你要知道的動畫
- 微信小程式Animation動畫的使用微信小程式動畫
- Flutter Animation(1)動畫的簡單使用Flutter動畫
- 關於animation和transition一點知識
- Vue 常用 transition 動畫效果記錄Vue動畫
- javascript動態改變css3的animationJavaScriptCSSS3
- css中動畫與過度CSS動畫
- Flutter第2天--Animation動畫+粒子運動Flutter動畫
- Css3中的TransitionCSSS3
- CSS3 TransitionCSSS3
- 利用動畫延遲(animation-delay)實現複雜動畫動畫
- CSS中的“大白”——CSS 動畫CSS動畫
- transition、animation、transform三者有什麼區別?ORM
- 寫一個高度從0到auto的transition動畫動畫
- 基於react-transition-group的react過渡動畫React動畫