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; }
}
示意图:
解析:
1. transition-property(属性名)
transition-property
指定需要执行动画的属性的名字,当元素对应的属性值发生变化时将会触发动画效果. 其主要有以下几个值:none(没有属 性改 变)
;all(所有属性改变)
这个也是其默认值;indent(元素属性名)
;当其值为none
时,transition
马上停止执行,当指定为all
时,则元素产生任何属性值变化时都将执行transition
效果,ident是可以指定元素的某一个属性值.
2.transition-duration(动画持续时间)
transition-duration
是用来指定元素 转换过程的持续时间,取值:<time>为数值,单位为s(秒)
,可以作用于所有元素,包括:before和:after伪元素
。其默认值是0
,也就是变换时是即时的。
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。
4. transition-delay(动画延迟执行的时间)
transition-delay
是用来指定一个动画延迟执行的时间,也就是说当改变元素属性值后多长时间开始执行transition
效果,取 值:<time>为数值,单位为s(秒),它的使用和transition-duration
极其相似,也可以作用于所有元素,包 括:before和:after伪元素。默认大小是”0″
,也就是变换立即执行,没有延迟。
PS:当需要改变同一个元素的多个属性时,只需要用逗号(" , ")分割开即可.
本文[来源][1],为防止链接失效copy部分并整理如上
[1]:http://www.php100.com/html/webkaifa/DIV_CSS/2012/1029/11403.html