SS3 動畫
CSS3,我們可以創建動畫,它可以取代許多網頁動畫圖像,Flash動畫,和JAVAScripts。
CSS3
動畫
CSS3 @keyframes 規則
要創建CSS3動畫,你將不得不了解@keyframes規則。
@keyframes規則是創建動畫。 @keyframes規則內指定一個CSS樣式和動畫將逐步從目前的樣式更改為新的樣式。
瀏覽器支持
表格中的數字表示支持該屬性的第一個瀏覽器版本號。
緊跟在 -webkit-, -ms- 或 -moz- 前的數字為支持該前綴屬性的第一個瀏覽器版本號。
屬性 | |||||
---|---|---|---|---|---|
@keyframes | 43.04.0 -webkit- | 10.0 | 16.05.0 -moz- | 9.04.0 -webkit- | 30.015.0 -webkit-12.0 -o- |
animation | 43.04.0 -webkit- | 10.0 | 16.05.0 -moz- | 9.04.0 -webkit- | 30.015.0 -webkit-12.0 -o- |
實例
@keyframesmyfirst{from{background:red;}to{background:yellow;}} @-webkit-keyframesmyfirst/* Safari 與 Chrome */{from{background:red;}to{background:yellow;}}
CSS3 動畫
當在 @keyframes 創建動畫,把它綁定到一個選擇器,否則動畫不會有任何效果。
指定至少這兩個CSS3的動畫屬性綁定向一個選擇器:
規定動畫的名稱
規定動畫的時長
實例
把 "myfirst" 動畫捆綁到 div 元素,時長:5 秒:
div{animation:myfirst5s; -webkit-animation:myfirst5s; /* Safari 與 Chrome */}
嘗試一下 ?
注意: 您必須定義動畫的名稱和動畫的持續時間。如果省略的持續時間,動畫將無法運行,因為默認值是0。
CSS3動畫是什么?
動畫是使元素從一種樣式逐漸變化為另一種樣式的效果。
您可以改變任意多的樣式任意多的次數。
請用百分比來規定變化發生的時間,或用關鍵詞 "from" 和 "to",等同于 0% 和 100%。
0% 是動畫的開始,100% 是動畫的完成。
為了得到最佳的瀏覽器支持,您應該始終定義 0% 和 100% 選擇器。
實例
當動畫為 25% 及 50% 時改變背景色,然后當動畫 100% 完成時再次改變:
@keyframesmyfirst{ 0% {background:red;} 25% {background:yellow;} 50% {background:blue;} 100% {background:green;}} @-webkit-keyframesmyfirst/* Safari 與 Chrome */{ 0% {background:red;} 25% {background:yellow;} 50% {background:blue;} 100% {background:green;}}
嘗試一下 ?
實例
改變背景色和位置:
@keyframesmyfirst{ 0% {background:red; left:0px; top:0px;} 25% {background:yellow; left:200px; top:0px;} 50% {background:blue; left:200px; top:200px;} 75% {background:green; left:0px; top:200px;} 100% {background:red; left:0px; top:0px;}} @-webkit-keyframesmyfirst/* Safari 與 Chrome */{ 0% {background:red; left:0px; top:0px;} 25% {background:yellow; left:200px; top:0px;} 50% {background:blue; left:200px; top:200px;} 75% {background:green; left:0px; top:200px;} 100% {background:red; left:0px; top:0px;}}
CSS3的動畫屬性
下面的表格列出了 @keyframes 規則和所有動畫屬性:
屬性 | 描述 | CSS |
---|---|---|
@keyframes | 規定動畫。 | 3 |
animation | 所有動畫屬性的簡寫屬性,除了 animation-play-state 屬性。 | 3 |
animation-name | 規定 @keyframes 動畫的名稱。 | 3 |
animation-duration | 規定動畫完成一個周期所花費的秒或毫秒。默認是 0。 | 3 |
animation-timing-function | 規定動畫的速度曲線。默認是 "ease"。 | 3 |
animation-delay | 規定動畫何時開始。默認是 0。 | 3 |
animation-iteration-count | 規定動畫被播放的次數。默認是 1。 | 3 |
animation-direction | 規定動畫是否在下一周期逆向地播放。默認是 "normal"。 | 3 |
animation-play-state | 規定動畫是否正在運行或暫停。默認是 "running"。 | 3 |
下面兩個例子設置所有動畫屬性:
實例
運行myfirst動畫,設置所有的屬性:
div{animation-name:myfirst; animation-duration:5s; animation-timing-function:linear; animation-delay:2s; animation-iteration-count:infinite; animation-direction:alternate; animation-play-state:running; /* Safari 與 Chrome: */ -webkit-animation-name:myfirst; -webkit-animation-duration:5s; -webkit-animation-timing-function:linear; -webkit-animation-delay:2s; -webkit-animation-iteration-count:infinite; -webkit-animation-direction:alternate; -webkit-animation-play-state:running;}
嘗試一下 ?
實例
與上面的動畫相同,但是使用了簡寫的動畫 animation 屬性:
div{animation:myfirst5slinear2sinfinitealternate; /* Safari 與 Chrome: */ -webkit-animation:myfirst5slinear2sinfinitealternate;}
如您還有不明白的可以在下面與我留言或是與我探討QQ群308855039,我們一起飛!
畫庫-animation.css
簡介
animate.css 是一個來自國外的 CSS3 動畫庫, 它預設了抖動(shake)、閃爍(flash)、彈跳(bounce)、翻轉(flip)、旋轉(rotateIn/rotateOut)、
淡入淡出(fadeIn/fadeOut)等多達 60 多種動畫效果, 幾乎包含了所有常見的動畫效果。
雖然借助 animate.css 能夠很方便、快速的制作 CSS3 動畫效果, 但還是建議看看 animate.css 的代碼, 也許你能從中學到一些東西。
瀏覽器兼容:當然是只兼容支持 CSS3 animate 屬性的瀏覽器, 他們分別是:IE10+、Firefox、Chrome、Opera、Safari。
使用
1github官網地址:https://daneden.github.io/animate.css/
中文API地址:http://www.dowebok.com/98.html
使用方法:
本章目標
如何在網頁中實現動畫效果?
Flash需要插件支持,文件體積大 從這次課開始學習使用CSS代碼來完成動畫:存在兼容性問題
在這里插入圖片描述
*請認真填寫需求信息,我們會在24小時內與您取得聯系。