CSS3动画可以实现一些简单的动画,取代许多网页中的动画图片、Flash动画甚至JavaScript。
@keyframes规则
@keyframes 规则用于创建动画。在 @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果。
@keyframes anim
{
from {background: red;}
to {background: yellow;}
}
@-moz-keyframes anim /* Firefox */
{
from {background: red;}
to {background: yellow;}
}
@-webkit-keyframes anim /* Safari 和 Chrome */
{
from {background: red;}
to {background: yellow;}
}
@-o-keyframes anim /* Opera */
{
from {background: red;}
to {background: yellow;}
}
CSS3 动画
当您在 @keyframes 中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果。
通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器:
- 规定动画的名称
- 规定动画的时长
把 "myfirst" 动画捆绑到 div 元素,时长:5 秒:
div
{
animation: anim 5s;
-moz-animation: anim 5s; /* Firefox */
-webkit-animation: anim 5s; /* Safari 和 Chrome */
-o-animation: anim 5s; /* Opera */
}
什么是 CSS3 中的动画?
动画是使元素从一种样式逐渐变化为另一种样式的效果。
你可以改变任意多的样式任意多的次数。
请用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%。
0% 是动画的开始,100% 是动画的完成。
为了得到最佳的浏览器支持,你应该始终定义 0% 和 100% 选择器。
当动画为 25% 及 50% 时改变背景色,然后当动画 100% 完成时再次改变:
@keyframes anim
{
0% {background: red;}
25% {background: yellow;}
50% {background: blue;}
100% {background: green;}
}
@-moz-keyframes anim /* Firefox */
{
0% {background: red;}
25% {background: yellow;}
50% {background: blue;}
100% {background: green;}
}
@-webkit-keyframes anim /* Safari 和 Chrome */
{
0% {background: red;}
25% {background: yellow;}
50% {background: blue;}
100% {background: green;}
}
@-o-keyframes anim /* Opera */
{
0% {background: red;}
25% {background: yellow;}
50% {background: blue;}
100% {background: green;}
}