不止在CSS过渡动画中使用easing

原文信息: 查看原文查看原文

Using easing for more than just CSS transitions

- Kilian Valkhof

过渡一般分线性缓和曲线。线性过渡是以全速开始,移动的过程和结束都是全速的进行,不像我们在现实中的场景,比如你扔一个东西不会立即全速坠落。

在写CSS动画的时候,大家应该经常会用到贝塞尔曲线,一个好的贝塞尔曲线可以让动画变得圆滑,仿照现实生活中的样子。其实,只要是在两个状态之间过渡的变化,缓和曲线(easing curves都可以让它变得更加自然不粗糙。

animationtransition使用CSS中内置的缓和曲线,对页面中其他的部分我们也可以使用这个缓和曲线,分别是:gradientbox shadow。虽然不能完全和animation一样,但是效果也很接近了。

gradients 的 easing

想要在gradients上使用easing,我们需要用easing gradients的概念来模拟,这里介绍一篇文章:Easing Linear Gradients,从文中可以看到更多实现细节。

下图是线性渐变和缓和渐变的区别:

线形渐变和缓和渐变的区别

box shadow 的 easing

box shadow其实也是gradients的一种,且box shadow在web中的实现跟gradients很像,它们不使用线性过渡而使用高斯模糊(Gaussian Blur),但还不是很好。真正的shadow应该倾向于细微的差别更加明显。它们应该在事物附近更暗一点,且按照曲线向外逐渐消失。

下午是box-shadow在普通模式和easing模式下的区别:

box-shadow在普通模式和easing模式下的区别

创建更好看的网站

使用缓和曲线(easing curve)可以让你的box shadowgradients看起来更加地自然。建议阅读原文,查看更多细节。

分享于 2020-01-28

访问量 1797

预览图片