CSS3過渡和動畫
1.transition過渡
- 1.指定元素
transition: 1s height, 1s width;
- 2.延遲
transition: 1s height, 1s 1s width;
// 上面程式碼指定,width在1秒之後再開始變化,也就是延遲(delay)1秒
- 3.狀態變化速度
- ease:慢-快-慢(預設)
- linear:勻速
- ease-in:加速
- ease-out:減速
- cubic-bezier函式:自定義速度模式演示
語法
// 完整寫法
transition: 1s 1s height linear;
// 常用寫法
transition: 1s;
注意transition一般加在原始元素上,不要加在hover,active等狀態上,不然只針對某種狀態。
2.animation動畫
定義動畫
- 0%可以用from代表,100%可以用to代表
@keyframes rainbow {
0% { background: #c00; }
50% { background: orange; }
100% { background: yellowgreen; }
}
// 相當於
@keyframes rainbow {
from { background: #c00 }
50% { background: orange }
to { background: yellowgreen }
}
- 如果省略某個狀態,瀏覽器會自動推算中間狀態
@keyframes rainbow {
50% { background: orange }
to { background: yellowgreen }
}
@keyframes rainbow {
to { background: yellowgreen }
}
- 可以把多個狀態寫在一行
@keyframes pound {
from,to { transform: none; }
50% { transform: scale(1.2); }
}
動畫引數
- animation-fill-mode 動畫結束時的狀態
- none:預設值,回到動畫沒開始時的狀態
- forwards:讓動畫停留在結束狀態
- backwards:讓動畫回到第一幀的狀態
- both: 根據animation-direction(見後)輪流應用forwards和backwards規則
- animation-direction動畫迴圈的方式
- normal預設值
- alternate
- reverse
-
alternate-reverse
具體參照下圖常用的值是normal和reverse。瀏覽器對其他值的支援情況不佳,應該慎用。
動畫語法
div:hover {
animation: 1s 1s rainbow linear 3 forwards normal;
}
// 相當於
div:hover {
animation-name: rainbow;
// 動畫名稱
animation-duration: 1s;
// 持續時間
animation-timing-function: linear;
// 動畫狀態
animation-delay: 1s;
// 動畫延遲
animation-fill-mode:forwards;
// 動畫結束狀態
animation-direction: normal;
// 動畫迴圈方式
animation-iteration-count: 3;
// 動畫迴圈次數,設為infinite則為無限迴圈
}
steps函式
用於實現逐幀動畫
div:hover {
animation: 10s rainbow infinite steps(10,start);
}
動畫將被分成10幀來播放,而不是平滑過渡。第二個引數預設為end,可設定為start。
動畫暫停
animation-play-state
div {
animation: spin 1s linear infinite;
animation-play-state: paused;
}
div:hover {
animation-play-state: running;
}
相關文章
- 如何觸發css3過渡動畫CSSS3動畫
- Vue實列之過渡和動畫,標籤過渡,多元件過渡,列表過渡Vue動畫元件
- CSS3的過渡,動畫,圖形轉換CSSS3動畫
- CSS3過渡CSSS3
- 第4章 Vue 過渡和動畫Vue動畫
- [譯] WindowsInsets 和 Fragment 過渡動畫WindowsFragment動畫
- 四個基本的JavaScript函式來馴服CSS3過渡和動畫(JavaScript函式CSSS3動畫
- 通過示例瞭解Vue過渡和動畫Vue動畫
- Vue過渡與動畫Vue動畫
- 自定義過渡動畫動畫
- CSS3——過渡(transition)CSSS3
- CSS3 變形、過渡、動畫、關聯屬性淺析CSSS3動畫
- 關於CSS3的變形、過渡、動畫、關聯屬性CSSS3動畫
- CSS3 動畫實現的 3D 圖片過渡特效CSSS3動畫3D特效
- Activity過渡(跳轉)動畫動畫
- css3過渡詳解CSSS3
- 從傳統動畫到react動畫過渡動畫React
- CSS 炫酷文字過渡動畫CSS動畫
- Android過渡動畫學習Android動畫
- css3過渡效果詳解CSSS3
- Vue - 使用 transition 過渡動畫、Animate.css 庫動畫Vue動畫CSS
- Flutter 建立自定義路由過渡動畫Flutter路由動畫
- 在 Flutter 新增頁面過渡動畫Flutter動畫
- CSS3-過渡、變形、動畫CSSS3動畫
- [iOS]過渡動畫之高階模仿 airbnbiOS動畫AI
- Android Transition(Android過渡動畫)Android動畫
- CSS3實現文字過渡移動CSSS3
- FCPX外掛Brush Transitions(墨滴和手繪過渡動畫模板)動畫
- flutter 暗黑模式切換過渡動畫實現Flutter模式動畫
- [iOS]過渡動畫之入門模仿系統iOS動畫
- vue.js - 過渡&動畫 - 無效情況Vue.js動畫
- CSS 奇技淫巧:動態高度過渡動畫CSS動畫
- Vue.js 動畫與過渡效果實戰Vue.js動畫
- 基於react-transition-group的react過渡動畫React動畫
- css揭祕實戰技巧 - 過渡與動畫[七]CSS動畫
- Vue中的基礎過渡動畫原理解析Vue動畫
- CSS 如何讓auto height完美支援過渡動畫?CSS動畫
- CSS hover改變背景圖片過渡動畫生硬CSS動畫