CSS3动画属性

老子叫甜甜 提交于 2020-03-08 08:41:18

关于CSS3中动画属性的基本知识

animation顾名思义为动画的意思。Animation应用在页面DOM上 使其产生动画的效果。在开始介绍Animation之前我们有必要先来了解一个特殊的东西,那就是"Key s",我们把他叫做“关键帧”,玩过flash的朋友可能对这个东西并不会陌生。

       animation  vs  transition  

       相同点:都是随着时间改变元素的属性值。

       不同点:transition需要触发一个事件(hover事件或click事件等)才会随时间改变其css属性; 初始效果——最终的效果之间的变化;

               而animation在不需要触发任何事件的情况下也可以显式的随着时间变化来改变元素css的属性值,从而达到一种动画的效果,css3的animation就需要明确的动画属性值;初始效果———动画帧———动画帧————最终的效果

       animation  复合式写法;animation{move 5s liner -2s infinite reverse}

                     注:过度时间和延迟时间顺序不能互换,前面是过度时间,后面的是延迟时间。

             

1、animation-name   (必要的)

              是用来定义一个动画的名称,为@keyframes中的名称,否则不会有动画效果。none为默认值,当值为none时,将没有任何动画效果。另外我们这个属性跟前面所讲的transition一样,我们可以同时附几个animation给一个元素,我们只需要用逗号“,”隔开。

              必须与规则@keyframes配合使用,

            定义关键帧: @keyframes mymove{}  animation-name:mymove;

            语法一:@keyframes mymove{

                                 from{初始状态属性}

                                   to{结束状态属性}

                         }

            语法二:@keyframes mymove{

                                 0%{初始状态属性}

                                   100%{结束状态属性}

                         }

                 0%  =   from    ;      100%   =     to

      

2、animation-duration (必要的)

                     检索或设置对象动画的持续时间   (s,ms)

                     说明:animation-duration:3s;    动画完成使用的时间为3s

                    

3、animation-delay

                     检索或设置对象动画延迟的时间(s,ms)

                     说明:animation-delay:0.5s;     动画开始前延迟的时间为0.5s)

                    

4、animation-timing-function

                     检索或设置对象动画的过渡类型

                     属性值:

                    linear:线性过渡。等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0)

                    ease:平滑过渡。等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0)  默认值;

                   ease-in:由慢到快。等同于贝塞尔曲线(0.42, 0, 1.0, 1.0)

                   ease-out:由快到慢。等同于贝塞尔曲线(0, 0, 0.58, 1.0)

                   ease-in-out:由慢到快再到慢。等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)

                   step-start:马上跳到动画每一结束桢的状态   (实现逐帧动画效果)

 

5、animation-iteration-count

                     检索或设置对象动画的循环次数

                     属性值:

                   animation-iteration-count: infinite | number;

                   infinite:无限循环

                   number: 循环的次数        2   3

                  

6、animation-direction

                     检索或设置对象动画在循环中是否反向运动

                     属性值:

                   normal:正常方向        0%  ——  100%

                   reverse:反方向运行    100%  ——   0%

                   alternate:动画先正常运行再反方向运行,并持续交替运行

 0% —— 100% —— 0%;

                    alternate-reverse:动画先反运行再正方向运行,并持续交替运行

                      100%  ——  0%   —— 100%

 

7、animation-fill-mode           

                  说明:规定动画播放之前或之后,其动画效果是否可见。

                  none (默认值) : 在运动结束之后回到初始位置,在延迟的情况下,让0%在延迟后生效

                backwards  :  在延迟的情况下,让0%在延迟前生效

                 forwards  :  在运动结束的之后,停到结束位置

                 both  :  backwards和forwards同时生效

                

8、animation-play-state

                     检索或设置对象动画的状态

                     属性值:

                    animation-play-state:running | paused;                

                    running:运动  (默认值)

                    paused: 暂停

                   

             注:通过鼠标某些事件时添加的;animation-play-state:paused;       当鼠标经过时动画停止,鼠标移开动画继续执行

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!