transition
transition:<single-transition>[,<single-transition>]
*
<single-transition>
= [ none
| <single-transition-property>
] || <time>
|| <single-transition-timing-function>
|| <time>
<‘ transition-property ‘>:
<‘ transition-duration ‘>:
<‘ transition-timing-function ‘>:
<‘ transition-delay ‘>:
transition: transition-property transition-duration transition-timing-function transition-delay;
缩写:
transition:
border-color .5s ease-in .1s,
background-color .5s ease-in .1s,
color .5s ease-in .1s;
拆分
transition-property: border-color, background-color, color;
transition-duration: .5s, .5s, .5s;
transition-timing-function: ease-in, ease-in, ease-in;
transition-delay: .1s, .1s, .1s;
transition-timing-function
取值:
linear
:贝塞尔曲线
(0.0, 0.0, 1.0, 1.0)ease
:ease-in
:ease-out
:ease-in-out
:step-start
:step-end
:steps(<integer>[, [ start | end ] ]?)
:cubic-bezier(<number>, <number>, <number>, <number>)
: transition: all 1s cubic-bezier(0,0,1,1);
(x,y)(x,y)
第一个控制点 第二个控制点
y值可正可负,为负时,速度先为负后为正,y为负,斜率也就为负值,所以小球先退后一点再加速前进。
x轴只能为正[0,1]之间。
峰值曲线,越尖,速度越快;越平缓,速度越慢。
(x,y,x,y)
y轴差值越少,越短促有力一点;
y轴可正可负,负回退正前进;
B(t) = P?(1 - t)3 + 3P?t(1 - t)2 + 3P?t2(1 - t) + P?t3 ,t ∈ [0,1]
起点 控制点1 控制点2 终点
贝塞尔曲线,就是取两点之间的斜率,k = f'( x );
可以在控制台调节控制点位置。
原文:https://www.cnblogs.com/zhizhi0810/p/10993496.html