transition(属性渐变)、animation(动画)

transition(属性渐变): CSS属性  持续时间  运动方式  延迟时间

第一个参数 CSS属性:

         要变化的属性,比如元素变宽则是width,文字颜色要变色这是color;W3C给出了一个可变换属性的列表:除了以上属性外,还有css3中大放异彩的css3变形,比如放大缩小,旋转斜切,渐变等。该取值还有个强大的“all”取值,表示上表所有属性

第二个参数 持续时间:

         动画执行的时间,以秒为单位,比如0.1秒可以写成”0.1s”或者”.1s”,注意后面有个“s”单位。

第三个参数 运动方式:

         ease:逐渐慢下来,函数等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0).

         linear:线性过度,函数等同于贝塞尔曲线(0.0, 0.0, 1.0, 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)

         cubic-bezier:特定的cubic-bezier曲线。 (x1, y1, x2, y2)四个值特定于曲线上点P1和点P2。所有值需在[0, 1]区域内,否则无效。

第四个参数 延迟时间:

         在动作和变换开始之间等待多久,通常用秒来表示(比如, .1s)。如果你不想延迟,该值可省略。

animation(动画): 动画名字  持续时间  运动方式  延迟时间  循环次数  循环方式

第一个参数:name (animation-name):

      动画的名字,即设定动画过程的名字,CSS3采用“关键帧 keyframes”来定义动画,方式形如:

@-webkit-keyframes name{
    0%{ opacity: 0;}
    100%{opacity: 1;}
 }
@-moz-keyframes name{
  0%{ opacity: 0; }
  100%{ opacity: 1; }

}
@keyframes name{
  0%{ opacity: 0; }
  100%{ opacity: 1; }
}

前缀-webkit-表示webkit内核浏览器(Chrome、Safari和变心的opera),-moz-表示火狐浏览器,以上代码定义了一个动画,名叫name,效果是使透明度从0变化到1,0%~100%为整个过程,当然也可以定义多段如:0%~20~50%~100%。

第二个参数:keeping-time (animation-duration):

      整个动画的持续时间,必须带上时间单位,s或者ms均可;

第三个参数:animate-function (animation-timing-function):

      运动方式(动画方式)的贝赛尔曲线,可取值为:ease、ease-in、ease-out、linear、ease-in-out、cubic-bezier(num1,num2,num3,num4)

第四个参数:delay (animation-delay):

      动画延迟执行的时间,单位也是s或者ms,值得注意的是,即使延迟时间为0,也必须加上时间单位,如果写成直接写成0,在Chrome和Safari(webkit)下是没问题的,但是在FF(gecko)下无效。

第五个参数:times (animation-iteration-count):

      动画循环执行的次数,无单位,infinite为无限循环。

第六个参数:iteration (animation-direction):

      如果动画循环,循环的方式是:alternate(偶数次向前播放,奇数次向后播放)、normal(每次都向前播放)。

第七个参数:final (animation-fill-mode):

      动画的最后(达到100%)时的状态,取值有:backward(回到初始状态)、forwards(停在最终状态)、none、both。

合在一块写:

.classname{
    -webkit-animation:name 6s linear 0ms infinite normal forwards;
    -moz-animation:name 6s linear 0ms infinite normal forwards;
    -o-animation:name 6s linear 0ms infinite normal forwards;
    animation:name 6s linear 0ms infinite normal forwards;
}

(将不带前缀的写在最后面好处是等到animation被所有浏览器认可,可以摈弃前缀的时候可以覆盖前面的样式。)

原文地址:https://www.cnblogs.com/hellodp/p/5659467.html