配色: 字号:
CSS3 keyframes
2016-08-16 | 阅:  转:  |  分享 
  
CSS3动画

CSS3,我们可以创建动画,它可以取代许多网页动画图像,Flash动画,和JAVAScripts。

CSS3

动画

CSS3@keyframes规则

要创建CSS3动画,你将不得不了解@keyframes规则。

@keyframes规则是创建动画。@keyframes规则内指定一个CSS样式和动画将逐步从目前的样式更改为新的样式。

浏览器支持

表格中的数字表示支持该属性的第一个浏览器版本号。

紧跟在-webkit-,-ms-或-moz-前的数字为支持该前缀属性的第一个浏览器版本号。

属性

@keyframes 43.0

4.0-webkit- 10.0 16.0

5.0-moz- 9.0

4.0-webkit- 30.0

15.0-webkit-

12.0-o-

animation 43.0

4.0-webkit- 10.0 16.0

5.0-moz- 9.0

4.0-webkit- 30.0

15.0-webkit-

12.0-o-

OperaSafariChromeFirefoxInternetExplorer

实例

@keyframesmyfirst

{

from{background:red;}

to{background:yellow;}

}



@-webkit-keyframesmyfirst/SafariandChrome/

{

from{background:red;}

to{background:yellow;}

}



CSS3动画

当在@keyframes创建动画,把它绑定到一个选择器,否则动画不会有任何效果。

指定至少这两个CSS3的动画属性绑定向一个选择器:

规定动画的名称

规定动画的时长

OperaSafariChromeFirefoxInternetExplorer

实例

把"myfirst"动画捆绑到div元素,时长:5秒:

div

{

animation:myfirst5s;

-webkit-animation:myfirst5s;/SafariandChrome/

}



尝试一下?

注意:您必须定义动画的名称和动画的持续时间。如果省略的持续时间,动画将无法运行,因为默认值是0。

CSS3动画是什么?

动画是使元素从一种样式逐渐变化为另一种样式的效果。

您可以改变任意多的样式任意多的次数。

请用百分比来规定变化发生的时间,或用关键词"from"和"to",等同于0%和100%。

0%是动画的开始,100%是动画的完成。

为了得到最佳的浏览器支持,您应该始终定义0%和100%选择器。

OperaSafariChromeFirefoxInternetExplorer

实例

当动画为25%及50%时改变背景色,然后当动画100%完成时再次改变:

@keyframesmyfirst

{

0%{background:red;}

25%{background:yellow;}

50%{background:blue;}

100%{background:green;}

}



@-webkit-keyframesmyfirst/SafariandChrome/

{

0%{background:red;}

25%{background:yellow;}

50%{background:blue;}

100%{background:green;}

}



尝试一下?



OperaSafariChromeFirefoxInternetExplorer

实例

改变背景色和位置:

@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/SafariandChrome/

{

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-delaywww.wang027.com 规定动画何时开始。默认是0。 3

animation-iteration-count 规定动画被播放的次数。默认是1。 3

animation-direction 规定动画是否在下一周期逆向地播放。默认是"normal"。 3

animation-play-state 规定动画是否正在运行或暂停。默认是"running"。 3

下面两个例子设置所有动画属性:

OperaSafariChromeFirefoxInternetExplorer

实例

运行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;

/SafariandChrome:/

-webkit-animation-name:myfirst;

-webkit-animation-duration:5s;

-webkit-animation-timing-function:linear;

-webkit-http://www.wang027.comanimation-delay:2s;

-webkit-animation-iteration-count:infinite;

-webkit-animation-direction:alternate;

-webkit-animation-play-state:running;

}



尝试一下?



OperaSafariChromeFirefoxInternetExplorer

实例

与上面的动画相同,但是使用了简写的动画animation属性:

div

{

animation:myfirst5slinear2sinfinitealternate;

/SafariandChrome:/

-webkit-animation:myfirst5slinear2sinfinitealternate;

}

献花(0)
+1
(本文系thedust79首藏)