Transition属性详解

Transition描述:

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

语法:

transition : [<'transition-property'> || <'transition-duration'> ||
<'transition-timing-function'> || <'transition-delay'> [, [<'transition-property'> ||
<'transition-duration'> || <'transition-timing-function'> || <'transition-delay'>]]*

示例:

a {
-moz-transition: background 0.5s ease-in,color 0.3s ease-out;
-webkit-transition: background 0.5s ease-in,color 0.3s ease-out;
-o-transition: background 0.5s ease-in,color 0.3s ease-out;
transition: background 0.5s ease-in,color 0.3s ease-out; }
}

示意图:

Transition属性详解_第1张图片
Transition.jpg
解析:
1. transition-property(属性名)

transition-property指定需要执行动画的属性的名字,当元素对应的属性值发生变化时将会触发动画效果. 其主要有以下几个值:none(没有属 性改 变)all(所有属性改变)这个也是其默认值;indent(元素属性名);当其值为none时,transition马上停止执行,当指定为all 时,则元素产生任何属性值变化时都将执行transition效果,ident是可以指定元素的某一个属性值.

2.transition-duration(动画持续时间)

transition-duration是用来指定元素 转换过程的持续时间,取值:

3.transition-timing-function(动画效果变化速率)

transition-timing-function的值允许你根据时间的推进去改变属性值的变换速率,transition-timing-function有6个可能值:

1、ease:(逐渐变慢)默认值,ease函数等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0);

2、linear:(匀速),linear 函数等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0);

3、ease-in:(加速),ease-in 函数等同于贝塞尔曲线(0.42, 0, 1.0, 1.0);

4、ease-out:(减速),ease-out 函数等同于贝塞尔曲线(0, 0, 0.58, 1.0);

5、ease-in-out:(加速然后减速),ease-in-out 函数等同于贝塞尔曲线(0.42, 0, 0.58, 1.0);

6、cubic-bezier:(该值允许你去自定义一个时间曲线), 特定的cubic-bezier曲线。 (x1, y1, x2, y2)四个值特定于曲线上点P1和点P2。所有值需在[0, 1]区域内,否则无效。

其是cubic-bezier为通过贝赛尔曲线来计算“转换”过程中的属性值,如下曲线所示,通过改变P1(x1, y1)和P2(x2, y2)的坐标可以改变整个过程的Output Percentage。初始默认值为default。

Transition属性详解_第2张图片
cubic-bezier.jpg
4. transition-delay(动画延迟执行的时间)

transition-delay是用来指定一个动画延迟执行的时间,也就是说当改变元素属性值后多长时间开始执行transition效果,取 值:

PS:当需要改变同一个元素的多个属性时,只需要用逗号(" , ")分割开即可.

本文[来源][1],为防止链接失效copy部分并整理如上
[1]:http://www.php100.com/html/webkaifa/DIV_CSS/2012/1029/11403.html

你可能感兴趣的:(Transition属性详解)