css加载动画合集

406 阅读1分钟

前置知识

animateion 和 transition 的 timing-function 有 2 种

cubic-bezier(贝塞尔曲线)

cubic-bezier.com/

  • ease 变快在变慢。 其实和esae-in-out差不多
  • linear 表示属性值按照一个固定的速度线性的变化
  • ease-in 表示属性值先以较慢速度变化,然后速度越来越快,就好比一个球从高处落下.in 进来就是快
  • ease-out 先快后慢,好比东西往上扔(向上的过程)。out 出去就是慢
  • esae-in-out 先慢后快,然后在慢 篮球掉到地上又弹起来。

steps

贝塞尔曲线的动画都是丝滑的,steps 则不是,他好比楼梯,贝塞尔曲线好比爬坡。 steps 函数指定了一个阶跃函数,提供了瞬间移动的能力。它接受两个参数

  • 第一个参数接受一个整数值,表示两个关键帧之间分几步完成
  • 第二个参数有两个值 start or end。默认值为 end。

预设值有

  • step-start 等同于 step(1, start)。
  • step-end 等同于 step(1, end)

steps(N, start)将动画分为N段,动画在每一段的起点发生阶跃(即图中的空心圆 → 实心圆),动画结束时停留在了第 N 帧

steps(N, end)将动画分为N段,动画在每一段的终点发生阶跃(即图中的空心圆 → 实心圆),动画结束时第 N 帧已经被跳过(即图中的空心圆 → 实心圆),停留在了 N+1 帧。

image.png

第一种动画

Kapture 2021-04-30 at 22.22.57.gif

第二种动画

Kapture 2021-04-30 at 17.39.54.gif

参考文章