下列为动画、过渡函数说明:
函数 | 功能描述 | 图例 |
ease | 默认值,元素样式从初始状态过渡到终止状态 的时速由快到慢,逐渐变慢。 (cubic-bezier(0.25,0.1,0.25,1)) | ![]() |
linear | 元素的样式从初始状态过渡到终止状态的 速度保值不变。 (等于 cubic-bezier(0,0,1,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)) | ![]() |
上述五个曲线均为三次贝塞尔曲线,这些函数用于动画种也不是十分准确。如果要制作一些动画要求精确度搞的函数,那么需要自己来定义一些更好的函数。
下图为一个三次贝塞尔曲线示意图:
一个贝塞尔曲线是由四个点控制的,如图中的四个点为p0,p1,p2,p3。每个点由水平和垂直二个值来确定,也就是常说的X和Y值确定。
由图可以得知,P1和P2点的值很容易得到,而且它们的值都是一个0~1的小数,不过有一点需要特别注意,三次贝塞尔曲线中的P0和P3二个点是无法设置的,因为它们总是存在HTML中的,也就是说它们总会是(0,0)和(1,1).
再CSS3中定义的三次贝塞尔曲线的函数如下:
transition-timing-function:cubic-bezier(0.5,0,1,1)
注意,三次贝塞尔曲线的每个点的值只能是0~1之间。