Animate.css

Animate.css 是一个随时可用的跨浏览器动画库,可用于您的 Web 项目。

非常适合强调、主页、滑块和注意力引导提示。

Installation and usage

安装

$ npm install animate.css --save

or

$ yarn add animate.css

or:

import "animate.css"

或者使用 CDN

<head>
  <link
    rel="stylesheet"
    href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"
  />
</head>

基本用法

安装 Animate.css 后,将类 animate__animated 添加到元素中,以及任何动画名称(不要忘记 animate__ 前缀!):

<h1 class="animate__animated animate__bounce">An animated element</h1>

就是这样! 你有一个 CSS 动画元素。 极好的!

动画可以改善界面的用户体验,但请记住,它们也会妨碍您的用户!

请阅读最佳实践和陷阱部分,以尽可能最好的方式让您的网络事物栩栩如生。

使用@keyframes

尽管该库为您提供了一些帮助类,例如动画类来让您快速运行,但您可以直接使用提供的动画关键帧。

这提供了一种灵活的方式来将 Animate.css 用于您当前的项目,而无需重构您的 HTML 代码。

例子:

.my-element {
  display: inline-block;
  margin: 0 0.5rem;

  animation: bounce; /* referring directly to the animation's @keyframe declaration */
  animation-duration: 2s; /* don't forget to set a duration! */
}

请注意,某些动画取决于动画类上设置的 animation-timing 属性。

更改或不声明它可能会导致意想不到的结果。

CSS 自定义属性(CSS 变量)

从版本 4 开始,Animate.css 使用自定义属性(也称为 CSS 变量)来定义动画的持续时间、延迟和迭代次数。

这使得 Animate.css 非常灵活和可定制。

需要更改动画持续时间? 只需在全局或本地设置一个新值。

例子:

/* This only changes this particular animation duration */
.animate__animated.animate__bounce {
  --animate-duration: 2s;
}

/* This changes all the animations globally */
:root {
  --animate-duration: 800ms;
  --animate-delay: 0.9s;
}

自定义属性还可以轻松地动态更改所有动画的时间受限属性。

这意味着您可以使用 javascript one-liner 获得慢动作或延时效果:

// All animations will take twice the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '2s');

// All animations will take half the time to accomplish
document.documentElement.style.setProperty('--animate-duration', '.5s');

尽管一些老旧的浏览器不支持自定义属性,但 Animate.css 提供了适当的回退,扩大了对任何支持 CSS 动画的浏览器的支持。

参考资料

https://animate.style/