摘要:動畫首先要明白動畫是一幀一幀的,由多個幀拼起來的動畫此為動畫樣式中的關鍵幀,用關鍵幀來控制動畫中的關鍵樣式。將會遵守倒序還是正序的停留正序倒序總寫按照上方順序即可如下關鍵幀動畫演示效果
css動畫
首先要明白動畫是一幀一幀的,由多個幀拼起來的動畫
此為動畫樣式中的關鍵幀,用關鍵幀來控制css動畫中的關鍵樣式。相比較過渡更加的容易空值中間的部分
其指示了一個過程到另一個過程的過程
關鍵幀還具有名字,在應用的時候通過名字將其綁定。
如果關鍵幀重復定義,則根據最后一次定義為準舉個栗子關鍵幀中的important會被略過
定義一個關鍵幀
@keyframes myFrames { form { background:#a7e5c6; width:100px; } to { width:90%; background:#c6c2a3; } }
樣式如下
這樣就完成一次動畫操作
分開定義也可以進行分開定義
按照百分號進行定義,結果如下
關鍵幀如下
@keyframes myFrames { 0% { width:200px; background:#827e64; } 20% { width:400px; background:#86bece; } 50% { height:600px; background:#af92aa; } 90% { width:300px; height:400px; background:#698771; } }
效果如下
animation 同樣是一個簡寫屬性,相比較js寫動畫來說,css動畫已經灰常簡單了。
大概看了一點純js動畫,js動畫核心在于對css樣式的更改,外加一個重復時間對css不斷的累加得到動畫效果
下面依次說明
animation-name和關鍵幀進行綁定
必須和關鍵幀的名字相同(廢話)
指定一個動畫的周期
負值的動畫無效舉一個栗子
div { width:300px; height:400px; background:#698771; margin:auto; animation-name: myFrames; animation-duration:.9s; } /*關鍵幀*/ @keyframes myFrames { 0% { width:200px; background:#827e64; } 20% { width:400px; background:#86bece; } 50% { height:600px; background:#af92aa; } 90% { width:300px; height:400px; background:#698771; } }
動畫效果如下
定義一個動畫的過程,類似于過渡的函數
同樣的,有貝塞爾曲線等等
不在闡述
谷歌瀏覽器的調試工具具有該方法,可以直接使用調試工具繪制貝塞爾曲線
定義動畫的延遲
css如下
* { margin:0; padding:0; } body { position:relative; } div { width:400px; height:400px; position: absolute; left:0; top:0; bottom:0; margin:auto; background:#698771; border-radius:1000px; animation-name: myFrames; animation-duration:5s; animation-timing-function:cubic-bezier(0.785, 0.135, 0.15, 0.86); animation-delay:.9s; } div div { width:40px; height:40px; position:absolute; left:0; right:0; top:0; bottom:0; margin:auto; background:#e8e3da; animation-name:myCenter; } /*關鍵幀*/ @keyframes myFrames { from { left:0; } to { left:70%; } } @keyframes myCenter { from { left:0; } to { left:0; } }
html如下
css動畫
動畫延遲了0.9秒
animation-iteration-count定義動畫的迭代次數infinite 為永遠重復
數值為number
animation-iteration-count:3;
動畫重復播放3次。
animation-iteration-count:infinite;
動畫永遠重復播放
animation-direction定義是否向前,向后,是否交替來回
如果想要重復的多次播放,必須有animation-iteration-count的值為infinity否則不會出現重復播放normal
為一個每次重復重新的位置開始播放(每次都將重置為新狀態,開始執行)
倒序播放
奇數正向播放
偶數倒序播放
即來回
奇數倒序播放
偶數正向播放
即倒來回
ps 動畫具有繼承的屬性animation-fill-mode forwards
將會保留最后一個關鍵幀,讓其停留。
css
/*animation-iteration-count:infinite;*/ animation-direction:alternate; animation-fill-mode:forwards;backwards
將會應用第一個動畫值
和none的區別在于none使用默認的css樣式,backwards將會使用動畫的第一幀
/*animation-iteration-count:infinite;*/ animation-direction:alternate; animation-fill-mode:backwards;
ps 加上注釋的原因是因為如果不加將會重復播放。both
將會遵守倒序還是正序的停留
正序/*animation-iteration-count:infinite;*/ animation-direction:normal; animation-fill-mode:both;倒序
/*animation-iteration-count:infinite;*/ animation-direction:reverse; animation-fill-mode:both;總寫
按照上方順序即可
css 如下
* { margin:0; padding:0; } body { position:relative; } div { width:400px; height:400px; position: absolute; left:0; top:0; bottom:0; margin:auto; background:#698771; border-radius:1000px; animation:myFrames 5s cubic-bezier(0.785, 0.135, 0.15, 0.86) .5s infinite alternate both; } div div { width:40px; height:40px; position:absolute; left:0; right:0; top:0; bottom:0; margin:auto; background:#e8e3da; animation-name:myCenter; } /*關鍵幀*/ @keyframes myFrames { from { left:0; } to { left:70%; } } @keyframes myCenter { from { left:0; } to { left:0; } }
css動畫
演示效果 https://melovemingming.gitee....
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/113688.html
摘要:任天堂的最新游戲的控制臺帶有一個輝煌的動畫,他所有的商業廣告和這個示例都由創建。使用重新構建任天堂開關,同時使用動畫化整個事物。 現在構建一個HTML和CSS的動畫logo比以前容易多了,配合更新的JavaScript庫可以進一步推動網絡動畫的發展。 看看這個畫廊的10個令人難以置信的自定義動畫logo,它們展示的是一些未知的實體或者世界知名品牌。 1、Flowers SVG Web...
摘要:貝塞爾曲線貝塞爾曲線是應用于二維圖形應用程序的數學曲線。通過調整控制點,貝塞爾曲線的形狀會發生變化。讓我們看看貝塞爾曲線的工作原理。貝塞爾曲線需要四個值,或者更準確地說它需要兩對數字。每對描述立方貝塞爾曲線控制點的和坐標。 這是專門探索 JavaScript 及其所構建的組件的系列文章的第 13 篇。 如果你錯過了前面的章節,可以在這里找到它們: JavaScript 是如何工作的:...
摘要:關鍵幀是用來通知瀏覽器在規定的時間點上應有的屬性值然后填充空白。每一對數值內包含表示三次貝塞爾曲線控制點的和坐標。即使每個控制點的和值的微小差異都會輸出完全不同的貝塞爾曲線。 原文請查閱這里,本文采用知識共享署名 4.0 國際許可協議共享,BY Troland。 本系列持續更新中,Github 地址請查閱這里。 這是 JavaScript 工作原理的第十三章。 概述 正如你所知,動畫在...
摘要:關鍵幀是用來通知瀏覽器在規定的時間點上應有的屬性值然后填充空白。每一對數值內包含表示三次貝塞爾曲線控制點的和坐標。即使每個控制點的和值的微小差異都會輸出完全不同的貝塞爾曲線。 原文請查閱這里,本文采用知識共享署名 4.0 國際許可協議共享,BY Troland。 本系列持續更新中,Github 地址請查閱這里。 這是 JavaScript 工作原理的第十三章。 概述 正如你所知,動畫在...
閱讀 2024·2021-09-30 09:47
閱讀 702·2021-09-22 15:43
閱讀 1981·2019-08-30 15:52
閱讀 2431·2019-08-30 15:52
閱讀 2539·2019-08-30 15:44
閱讀 902·2019-08-30 11:10
閱讀 3372·2019-08-29 16:21
閱讀 3295·2019-08-29 12:19