animation-timing-function CSS 属性设置动画在每个周期的持续时间内如何进行。
| Android(VDOM) | Android(Vapor) | iOS(VDOM) | iOS(Vapor) | HarmonyOS(VDOM) | HarmonyOS(Vapor) |
|---|---|---|---|---|---|
| x | 5.25 | x | 5.25 | x | 5.25 |
| Android(Vapor) | iOS(Vapor) | HarmonyOS(Vapor) |
|---|---|---|
| x | x | x |
animation-timing-function: <easing-function>#;
| 名称 | 兼容性 | 描述 |
|---|---|---|
| ease | 等同于 cubic-bezier(0.25, 0.1, 0.25, 1.0),即默认值,表示动画在中间加速,在结束时减速。。 | |
| linear | 等同于 cubic-bezier(0.0, 0.0, 1.0, 1.0),表示动画以匀速运动。 | |
| ease-in | 等同于 cubic-bezier(0.42, 0, 1.0, 1.0),表示动画一开始较慢,随着动画属性的变化逐渐加速,直至完成。 | |
| ease-out | 等同于 cubic-bezier(0, 0, 0.58, 1.0),表示动画一开始较快,随着动画的进行逐渐减速。 | |
| ease-in-out | 等同于 cubic-bezier(0.42, 0, 0.58, 1.0),表示动画属性一开始缓慢变化,随后加速变化,最后再次减速变化。 | |
| cubic-bezier() | 开发者自定义的三次贝塞尔曲线,其中 p1 和 p3 的值必须在 0 到 1 的范围内。 | |
| steps() | 按照 n 个定格在过渡中显示动画迭代,每个定格等长时间显示。例如,如果 n 为 5,则有 5 个步骤。动画是否在 0%、20%、40%、60% 和 80% 处或 20%、40%、60%、80% 和 100% 处暂停,或者在动画的 0% 和 100% 之间设置 5 个定格,又或是在包括 0% 和 100% 的情况下设置 5 个定格(在 0%、25%、50%、75% 和 100% 处)取决于使用以下跳跃项之一: jump-start 表示一个左连续函数,因此第一个跳跃发生在动画开始时。 jump-end 表示一个右连续函数,因此最后一个跳跃发生在动画结束时。 jump-none 两端都没有跳跃。相反,在 0% 和 100% 标记处分别停留,每个停留点的持续时间为总动画时间的 1/n。 jump-both 在 0% 和 100% 标记处停留,有效地在动画迭代过程中添加一个步骤。 start 等同于 jump-start。 end 等同于 jump-end。 step-start 等同于 steps(1, jump-start)。 step-end 等同于 steps(1, jump-end)。 | |
| step-start | 等同于 steps(1, jump-start)。 | |
| step-end | 等同于 steps(1, jump-end)。 | |
| jump-start | 表示一个左连续函数,因此第一个跳跃发生在动画开始时。 | |
| jump-end | 表示一个右连续函数,因此最后一个跳跃发生在动画结束时。 | |
| jump-none | 两端都没有跳跃。相反,在 0% 和 100% 标记处分别停留,每个停留点的持续时间为总动画时间的 1/n。 | |
| jump-both | 在 0% 和 100% 标记处停留,有效地在动画迭代过程中添加一个步骤。 | |
| start | 等同于 jump-start。 | |
| end | 等同于 jump-end。 |
ease