CSS3實現動畫效果教程詳解

在傳統網頁上動畫通常都是經過Javascriptflash來實現,可是Html5的時代的到來,CSS的進化,讓動畫實現起來更加easy,今天E良師益友網就來介紹一下如何經過CSS3來實現簡單的動畫效果:html


1、CSS3 @keyframes 規則web

@keyframes 規則用於建立動畫。在 @keyframes 中規定某項 CSS 樣式,就能建立由當前樣式逐漸改成新樣式的動畫效果。chrome

目前支持的瀏覽以下:opera,firefox,全部webkit內核瀏覽器(safair,chrome),IE10+。廢話很少說,先看下在各個瀏覽器上的實現:瀏覽器

@keyframes myfirst
{
from {background: red;}
to {background: yellow;}
}
@-moz-keyframes myfirst /* Firefox */
{
from {background: red;}
to {background: yellow;}
}
@-webkit-keyframes myfirst /* Safari 和 Chrome */
{
from {background: red;}
to {background: yellow;}
}
@-o-keyframes myfirst /* Opera */
{
from {background: red;}
to {background: yellow;}
}

當您在 @keyframes 中建立動畫時,請把它捆綁到某個選擇器,不然不會產生動畫效果。動畫

經過規定至少如下兩項 CSS3 動畫屬性,便可將動畫綁定到選擇器:spa

1規定動畫的名稱firefox

2規定動畫的時長code

實例:orm

把 "myfirst" 動畫捆綁到 div 元素,時長:秒:htm

div
{
animation: myfirst 5s;
-moz-animation: myfirst 5s; /* Firefox */
-webkit-animation: myfirst 5s;  /* Safari 和 Chrome */
-o-animation: myfirst 5s;   /* Opera */
}

註釋:您必須定義動畫的名稱和時長。若是忽略時長,則動畫不會容許,由於默認值是 0

2、什麼是 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;}
}
@-moz-keyframes myfirst /* Firefox */
{
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;}
}
@-o-keyframes myfirst /* Opera */
{
0%   {background: red;}
25%  {background: yellow;}
50%  {background: blue;}
100% {background: green;}
}

3、CSS3 動畫屬性

下面的表格列出了 @keyframes 規則和全部動畫屬性:

@keyframes:規定動畫。

animation :全部動畫屬性的簡寫屬性,除了 animation-play-state 屬性。

animation-name:規定 @keyframes 動畫的名稱。

animation-duration:規定動畫完成一個週期所花費的秒或毫秒。默認是 0

animation-timing-function:規定動畫的速度曲線。默認是 "ease"

animation-delay:規定動畫什麼時候開始。默認是 0

animation-iteration-count:規定動畫被播放的次數。默認是 1

animation-direction :規定動畫是否在下一週期逆向地播放。默認是 "normal"

animation-play-state:規定動畫是否正在運行或暫停。默認是 "running"

animation-fill-mode:規定對象動畫時間以外的狀態。

相關文章
相關標籤/搜索