CSS3 animation 动画属性

CSS3 animation 属性,可以创建动画,可以取代许多网页动画图像,如Flash动画,和JAVAScripts。

同样也可参考 jQuery animate() 方法。

语法

animation: name duration timing-function delay iteration-count direction fill-mode play-state;

注解

animation-name	指定要绑定到选择器的关键帧的名称
animation-duration	动画指定需要多少秒或毫秒完成
animation-timing-function	设置动画将如何完成一个周期
animation-delay	设置动画在启动前的延迟间隔。
animation-iteration-count	定义动画的播放次数。
animation-direction	指定是否应该轮流反向播放动画。

CSS3 @keyframes 规则

要创建CSS3动画,就得了解@keyframes规则。

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

@keyframes myfirst
{
	from {background: red;}
	to {background: yellow;}
}

@-webkit-keyframes myfirst /* Safari and Chrome */
{
	from {background: red;}
	to {background: yellow;}
}

浏览器支持

Internet Explorer 10,Firefox,Opera 和 Google Chrome Safari 支持 CSS3 animation(动画)属性。

Safari和Chrome通过私有属性 -WebKit-animation 支持。

注意: Internet Explorer 9 及更早IE版本不支持动画属性。

使用方法

使用简写CSS属性把 animation 绑定到一个

元素:

div{
	animation:mymove 5s infinite;
	-webkit-animation:mymove 5s infinite; /* Safari 和 Chrome */
}

注解

默认值:	none 0 ease 0 1 normal
继承:	no
版本:	CSS3
JavaScript 语法:	object.style.animation="mymove 5s infinite"

示例

<!DOCTYPE html>
<html>
<head>
<style> 
.test{
	width:100px;
	height:100px;
	background:red;
	position:relative;
	animation:my_style_move 5s infinite;
	-webkit-animation:my_style_move 5s infinite; /*Safari and Chrome*/
}

@keyframes my_style_move
{
	from {left:0px;}
	to {left:200px;}
}

@-webkit-keyframes my_style_move /*Safari and Chrome*/
{
	from {left:0px;}
	to {left:200px;}
}
</style>
</head>
<body>

<p>注意: Internet Explorer 9 及更早IE版本不支持动画属性。</p>

<div class="test"></div>

</body>
</html>

再看一个示例

<!DOCTYPE html>
<html>
<head>
<style> 
div
{
	width:100px;
	height:100px;
	background:red;
	animation:myfirst 5s;
	-moz-animation:myfirst 5s; /* Firefox */
	-webkit-animation:myfirst 5s; /* Safari and Chrome */
	-o-animation:myfirst 5s; /* Opera */
}

@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 and 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;}
}
</style>
</head>
<body>

<div></div>

<p><b>注释: </b>当动画完成时,会变回初始的样式。</p>


<p><b>注意: </b> 该实例在 Internet Explorer 9 及更早 IE 版本是无效的。</p>

</body>
</html>