@keyframes规则总结

定义和用法
1:通过 @keyframes 规则,您能够创建动画。
2:创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式,在动画过程中,您能够多次改变这套 CSS 样式。
3:以百分比来规定改变发生的时间,或者通过关键词 “from” 和 “to”,等价于 0% 和 100%。

0% 是动画的开始时间,100% 动画的结束时间。
为了获得最佳的浏览器支持,您应该始终定义 0% 和 100% 选择器。
注释:请使用动画属性来控制动画的外观,同时将动画与选择器绑定。

animation:mymove 5s infinite;
-moz-animation:mymove 5s infinite; /* Firefox */
-webkit-animation:mymove 5s infinite; /* Safari and Chrome */
-o-animation:mymove 5s infinite; /* Opera */

1、-moz代表firefox浏览器私有属性
2、-ms代表ie浏览器私有属性
3、-webkit代表safarichrome私有属性





@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;}
}

 @-webkit-keyframes mymove {  
            0% {  
                transform: scale3d(1, 1, 1);  
                opacity: 1;  
                width: 100px;  
                height: 100px;  
                top: 0;  
                left: 0;  
                background: red;  
            }  
            25% {  
                transform: scale3d(1.5, 1.5, 1.5);  
                opacity: 0.5;  
                width: 150px;  
                height: 150px;  
                top: 0;  
                left: 300px;  
                background: yellow;  
            }  
            50% {  
                transform: scale3d(2, 2, 2);  
                opacity: 0;  
                width: 200px;  
                height: 200px;  
                top: 300px;  
                left: 300px;  
                background: pink;  
            }  
            75% {  
                transform: scale3d(1.5, 1.5, 1.5);  
                opacity: 0.5;  
                width: 150px;  
                height: 150px;  
                top: 300px;  
                left: 0px;  
                background: deepskyblue;  
            }  
            100% {  
                transform: scale3d(1, 1, 1);  
                opacity: 1;  
                width: 100px;  
                height: 100px;  
                top: 0;  
                background: red;  
            }  
        }  

重点

name:keyframe 名称。(如:mymove)
duration:持续时间。如果不写,持续时长为 0,即不播放动画。(如:1s)
timing-function:速度曲线。
linear:动画从头到尾的速度是相同的。
ease:默认。动画以低速开始,然后加快,在结束前变慢。
ease-in:动画以低速开始。
ease-out:动画以低速结束。
ease-in-out:动画以低速开始和结束。
cubic-bezier(n,n,n,n)
delay:动画开始之前的延迟。(如:5s)
iteration-count:定义动画播放次数的数值
n:自定义
infinite:无限次
direction:动画是否轮流反向播放
normal:默认值。动画应该正常播放。
alternate:动画应该轮流反向播放。
fill-mode:规定对象动画时间之外的状态。

keyframes 的4个超级属性
在 @keyframes 里,我们几乎可以使用任何的CSS属性。在如今的大部分浏览器中,你可以放心的使用 position , scale , rotate , opacity 等等属性值。并且这4个属性可以给动画效果带来更高效,更好的性能表现。

你可能感兴趣的:(vue2.0入门及实战开发)