Css3 动画

Css3 动画

一、2D动画(transform)

 1.浏览器支持

      Css3 动画

2.transform:translate  /*移动*/

    translateX( )    /*水平移动*/

    translateY( )   /*垂直移动*/

    translate(x,y)   

注:移动的值:左负右正,上负下正,单独定义时X Y必须大写

  3.transform:scale  /*缩放*/

        scaleX( )/scaleY( )/scale(x,y)

注:无单位,0-1缩小/大于1放大

  4.transform:rotate(angle) /*旋转*/

注:一个值,平面内,单位:deg

5.transform:skew  /*倾斜*/

     skewX(angle)/skewY(angle )/skew(x-angle,y-angle)

注:单位deg,除了精确角度也可用right/bottom/left/top来定义

6.transition(用来定义动画的过渡)

      transition:property  duration timing-fuction  delay

      property:设置过渡效果的css动画属性名称(可以用all代替所有)

      duration:设置完成过渡所需时间

      timing-function:设置效果速度曲线(linear/ease/ease-in/ease-out)

      delay:过渡延迟

 :无延迟且只设置对象所有动画的时间可简写: transition:ns

  7.设置动画变形的参考点

            transform-origin:X%Y%

  注:水平垂直不仅可以精确定位还可以用left/right/top/bottom定位,默认参考点为中心

二、3D动画旋转

          transform:rotate(x,y)/rotateX( )/rotateY( )

三、自定义动画

   1. 定义动画

         @keyframesname form{…}to{…}/百分比划分动画时间

   2. 调用定义的动画

      animation:name durationtiming-fuction delay infinite/n alternate reverse

           name:自定义动画的名称

           duration:设置完成动画所需时间

           delay:过渡延迟

           infinite/n:重复/重复n次

           alternate:第二遍倒着原路返回动画

           reverse:反向播放动画

           timing-function:设置效果速度曲线 

                linear/ease/ease-in/ease-out/ease-in-out/cubic-bezier(n,n.n,n)

    linear:匀速

    ease:慢开始,中间快,慢结束

    ease-in:慢开始

    ease-out:慢结束

    ease-in-out:慢开始和慢结束

    cubic-bezier(n,n,n,n):速度函数 , 0<n<1

Css3 动画