css3的animation动画创建和使用
一.animation有的属性:
1、animation-name(动画名称)
animation-name属性是必须存在的,因为animation-name的值默认是none,没有动画。
2、animation-duration(动画执行一次所需时间)
animation-duration属性也是必须存在的,因为animation-duration的值默认是0,没有动画。
3、animation-delay(动画在开始前的延迟时间)
animation-delay的值可以是秒(s)或者是毫秒(ms),默认值是0,没有延迟。
4、animation-timing-function(动画以何种运行轨迹完成一个周期)
属性值:
(1)ease:以低速开始,然后加速,最后在结束前变慢。(默认值)
(2)linear:表示动画从头到尾的速度都是相同的。
(3)ease-in:表示动画以低速开始。
(4)ease-out:表示动画以低速结束。
(5)ease-in-out:表示动画以低速开始和结束。
5、animation-iteration-count(动画播放次数)
属性值:
(1)直接写数字,自定义想要播放动画的次数。
(2)infinite:设置动画无线循环播放。
6、animation-direction(是否轮流反向播放动画)
属性值为:
(1)normal:表示动画正常播放。如果动画只播放一次,则该属性无效。(默认值)
(2)reverse:表示动画反向播放。
(3)alternate:表示动画在奇数次播放时为正向播放,为偶数次播放时为反向播放。
(4)alternate-reverse:表示动画在奇数次播放时为反向播放,为偶数次播放时为正向播放。
7、 animation-fill-mode(定义元素动画结束以后或者未开始的元素样式)
(1)none:不会在动画结束或者未开始时给元素 添加样式。(默认值)
(2)forwards:表示动画结束后,元素直接接使用当前样式。
(3)backwards:表示在动画延迟时间元素使用关键帧中from的属性值或者to属性值(当animation-direction为reverse或者alternate-reverse时)
二.animation合并写法
animation属性在书写通常合并在一起,除非需要单独设置的属性值,animation属性的简写形式为:
animation:名称 执行时间 延迟时间 运行速度 播放次数 是否反向 样式
animation:code 2s 2s linear infinite alternate forwards;
三.创建动画@keyframes
1.语法
@keyframes animationname {keyframes-selector {css-styles;}}
2.属性值
keyframes-selector:
(1)0-100%
(2)from(与 0% 相同)
(3)to(与 100% 相同)
@keyframes mymove
{
0% {top:0px;}
25% {top:200px;}
50% {top:100px;}
75% {top:200px;}
100% {top:0px;}
}
@keyframes mymove
{
from {top:0px;}
to {top:200px;}
}
@-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;}
}