CSS3过渡效果transition

css的transition允许css的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标经过、单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值。”

语法:

transition: transition-property transition-duration transition-timing-function transition-delay;

transition主要包含四个属性值:

指定要改变CSS属性的名称:transition-property,
过渡延续的时间:transition-duration,
在延续时间段,过渡效果的速度transition-timing-function,
过渡效果的延迟时间:transition-delay。

1.transition-property:是用来指定当元素其中一个属性改变时执行transition效果。

其值可以是none(没有属性改变),all(所有属性改变),property(css属性的名称)

2.transition-duration: 过渡延续的时间,数值是

3.transition-timing-function: 过渡效果的速度

ease | ease-in | ease-out | ease-in-out | linear | cubic-bezier(x1,y1,x2,y2)

解释:
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)

linear : 匀速;等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0).

cubic-bezier:自定义一个时间曲线, (x1, y1, x2, y2)四个值特定于曲线上点P1和点P2。所有值需在[0, 1]区域内,否则无效。比如:cubic-bezier(1.000, 0.835, 0.000, 0.945);

4.transition-delay: 过渡效果延迟的时间,也就是说当改变元素属性值后多长时间开始执行。其取值:

语法实例:

-webkit-transition: all 3s ease-in;

-moz-transition: all 3s ease-in;

-o-transition: all 3s ease-in;

transition: all 3s ease-in;

多个属性

transition: background 0.5s ease-in,color 0.3s ease-out 1s;

可以为不同的属性设置不同的过渡效果和延迟时间,来创造多样化的效果。