CSS3 @keyframes 規(guī)則

2022-06-02 16:08 更新

實(shí)例

使 div 元素勻速向下移動(dòng):

@keyframes mymove
{
from {top:0px;}
to {top:200px;}
}

@-moz-keyframes mymove /* Firefox */
{
from {top:0px;}
to {top:200px;}
}

@-webkit-keyframes mymove /* Safari 和 Chrome */
{
from {top:0px;}
to {top:200px;}
}

@-o-keyframes mymove /* Opera */
{
from {top:0px;}
to {top:200px;}
}

親自試一試

頁(yè)面底部有更多實(shí)例。

瀏覽器支持

IE Firefox Chrome Safari Opera
         

目前瀏覽器都不支持 @keyframes 規(guī)則。

Firefox 支持替代的 @-moz-keyframes 規(guī)則。

Opera 支持替代的 @-o-keyframes 規(guī)則。

Safari 和 Chrome 支持替代的 @-webkit-keyframes 規(guī)則。

定義和用法

通過(guò) @keyframes 規(guī)則,您能夠創(chuàng)建動(dòng)畫(huà)。

創(chuàng)建動(dòng)畫(huà)的原理是,將一套 CSS 樣式逐漸變化為另一套樣式。

在動(dòng)畫(huà)過(guò)程中,您能夠多次改變這套 CSS 樣式。

以百分比來(lái)規(guī)定改變發(fā)生的時(shí)間,或者通過(guò)關(guān)鍵詞 "from" 和 "to",等價(jià)于 0% 和 100%。

0% 是動(dòng)畫(huà)的開(kāi)始時(shí)間,100% 動(dòng)畫(huà)的結(jié)束時(shí)間。

為了獲得最佳的瀏覽器支持,您應(yīng)該始終定義 0% 和 100% 選擇器。

注釋:請(qǐng)使用動(dòng)畫(huà)屬性來(lái)控制動(dòng)畫(huà)的外觀,同時(shí)將動(dòng)畫(huà)與選擇器綁定。

語(yǔ)法

@keyframes animationname {keyframes-selector {css-styles;}}
描述
animationname必需。定義動(dòng)畫(huà)的名稱。
keyframes-selector

必需。動(dòng)畫(huà)時(shí)長(zhǎng)的百分比。

合法的值:

  • 0-100%
  • from(與 0% 相同)
  • to(與 100% 相同)
css-styles必需。一個(gè)或多個(gè)合法的 CSS 樣式屬性。

親自試一試 - 實(shí)例

實(shí)例 1

在一個(gè)動(dòng)畫(huà)中添加多個(gè) keyframe 選擇器:

@keyframes mymove
{
0%   {top:0px;}
25%  {top:200px;}
50%  {top:100px;}
75%  {top:200px;}
100% {top:0px;}
}

@-moz-keyframes mymove /* Firefox */
{
0%   {top:0px;}
25%  {top:200px;}
50%  {top:100px;}
75%  {top:200px;}
100% {top:0px;}
}

@-webkit-keyframes mymove /* Safari 和 Chrome */
{
0%   {top:0px;}
25%  {top:200px;}
50%  {top:100px;}
75%  {top:200px;}
100% {top:0px;}
}

@-o-keyframes mymove /* Opera */
{
0%   {top:0px;}
25%  {top:200px;}
50%  {top:100px;}
75%  {top:200px;}
100% {top:0px;}
}

親自試一試

實(shí)例 2

在一個(gè)動(dòng)畫(huà)中改變多個(gè) CSS 樣式:

@keyframes mymove
{
0%   {top:0px; background:red; width:100px;}
100% {top:200px; background:yellow; width:300px;}
}

@-moz-keyframes mymove /* Firefox */
{
0%   {top:0px; background:red; width:100px;}
100% {top:200px; background:yellow; width:300px;}
}

@-webkit-keyframes mymove /* Safari 和 Chrome */
{
0%   {top:0px; background:red; width:100px;}
100% {top:200px; background:yellow; width:300px;}
}

@-o-keyframes mymove /* Opera */
{
0%   {top:0px; background:red; width:100px;}
100% {top:200px; background:yellow; width:300px;}
}

親自試一試

實(shí)例 3

帶有多個(gè) CSS 樣式的多個(gè) keyframe 選擇器:

@keyframes mymove
{
0%   {top:0px; left:0px; background:red;}
25%  {top:0px; left:100px; background:blue;}
50%  {top:100px; left:100px; background:yellow;}
75%  {top:100px; left:0px; background:green;}
100% {top:0px; left:0px; background:red;}
}

@-moz-keyframes mymove /* Firefox */
{
0%   {top:0px; left:0px; background:red;}
25%  {top:0px; left:100px; background:blue;}
50%  {top:100px; left:100px; background:yellow;}
75%  {top:100px; left:0px; background:green;}
100% {top:0px; left:0px; background:red;}
}

@-webkit-keyframes mymove /* Safari and Chrome */
{
0%   {top:0px; left:0px; background:red;}
25%  {top:0px; left:100px; background:blue;}
50%  {top:100px; left:100px; background:yellow;}
75%  {top:100px; left:0px; background:green;}
100% {top:0px; left:0px; background:red;}
}

@-o-keyframes mymove /* Opera */
{
0%   {top:0px; left:0px; background:red;}
25%  {top:0px; left:100px; background:blue;}
50%  {top:100px; left:100px; background:yellow;}
75%  {top:100px; left:0px; background:green;}
100% {top:0px; left:0px; background:red;}
}

親自試一試

相關(guān)頁(yè)面

CSS3 教程:CSS3 動(dòng)畫(huà)

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)