css的transition允许css的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值。
transitions的兼容情况
transitions的属性:
transition: [ transition-property || transition-duration || transition-timing-function || transition-delay ]
transition-property:要改变的css属性;
transition-duration:用来完成整个变化所需要的时间,单位是秒或则毫秒,默认是0,表示不会有变化;
transition-timing-function:变化过程中的速度,默认是ease;
transition-delay:开始变化所需要等待的时间,单位是秒或则毫秒,默认是0;
在上面的属性中,transition-timing-function需要注意一下它的属性:
linear 规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。
ease 规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))。
ease-in 规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))。
ease-out 规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))。
ease-in-out 规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))。
cubic-bezier(n,n,n,n) 在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。
具体可以参考这篇文章A Look Into: Cubic-Bezier In CSS3 Transition
当属性值列表长度不一致时
以 transition-property 的值列表长度为标准,如果某个属性值列表长度短于它的,则重复其值以长度一致, 例如:
将按下面这样处理:
类似地,如果某个属性的值列表长于 transition-property 的,将被截短。 例如:
将按下面这样处理: