CSS3 可以創建動畫,它可以取代許多網頁動畫圖像、Flash 動畫和 JavaScript 實現的效果。
CSS3 @keyframes 規則
要創建 CSS3 動畫,你需要了解 @keyframes 規則。
@keyframes 規則是創建動畫。
@keyframes 規則內指定一個 CSS 樣式和動畫將逐步從目前的樣式更改爲新的樣式。
@keyframes myfirst /* myfirst 爲動畫名 */
{
from {background: red;}
to {background: yellow;}
}
@-webkit-keyframes myfirst /* Safari 與 Chrome */
{
from {background: red;}
to {background: yellow;}
}
CSS3 動畫
當在 @keyframes 創建動畫,把它綁定到一個選擇器,否則動畫不會有任何效果。
指定至少這兩個CSS3的動畫屬性綁定向一個選擇器:
- 規定動畫的名稱
- 規定動畫的時長
實例:把“myfirst” 動畫捆綁到div元素上,時長5s.
div
{
animation: myfirst 5s;
-webkit-animation: myfirst 5s; /* Safari 與 Chrome */
}
注意: 您必須定義動畫的名稱和動畫的持續時間。如果省略的持續時間,動畫將無法運行,因爲默認值是0。
CSS3動畫是什麼?
動畫是使元素從一種樣式逐漸變化爲另一種樣式的效果。
您可以改變任意多的樣式任意多的次數。
請用百分比來規定變化發生的時間,或用關鍵詞 "from" 和 "to",等同於 0% 和 100%。
0% 是動畫的開始,100% 是動畫的完成。
爲了得到最佳的瀏覽器支持,您應該始終定義 0% 和 100% 選擇器。
實例:當動畫爲 25% 及 50% 時改變背景色,然後當動畫 100% 完成時再次改變:
@keyframes myfirst
{
0% {background: red;}
25% {background: yellow;}
50% {background: blue;}
100% {background: green;}
}
@-webkit-keyframes myfirst /* Safari 與 Chrome */
{
0% {background: red;}
25% {background: yellow;}
50% {background: blue;}
100% {background: green;}
}
接下來就是我寫的小練習。通過css 動畫使小球在草地上無限滾動,並加了兩個按鈕控制動畫的運行與暫停(最上面的紅球是我畫的太陽2333)
概念引自菜鳥教程