CSS3转换的ease-in
、ease-out
等之间有什么区别。?
CSS3的转换和动画支持放松,正式名称为"计时函数"。常见的有ease-in
、ease-out
、ease-in-out
、ease
和linear
,也可以使用cubic-bezier()
指定自己的。
ease-in
将缓慢地开始动画,并以全速完成ease-out
将以全速开始动画,然后缓慢结束ease-in-out
会慢慢开始,在动画中间最快,然后慢慢结束ease
与ease-in-out
类似,只是它的开始速度略快于结束速度linear
不使用缓和- 最后,这里对
cubic-bezier
语法进行了很好的描述,但通常没有必要,除非您想要一些非常精确的效果
基本上,放松是缓慢停止,放松是慢慢加速,线性是两者都不做。您可以在MDN上的timing-function
文档中找到更详细的资源。
如果你真的想要上述精确的效果,Lea Verou的cubic-bezier.com就在那里!它还可用于以图形方式比较不同的时序函数。
另一个是steps()
定时函数,其作用类似于linear
,但在转换的开始和结束之间只执行有限数量的步骤。steps()
在CSS3动画中对我最有用,而不是在过渡中;一个很好的例子是用点加载指示器。传统上,人们使用一系列静态图像(比如八个点,每帧两个颜色变化)来产生运动的错觉。使用steps(8)
动画和rotate
变换,您可以使用运动来产生单独帧的错觉!真有趣。