本文档提供了 Animate.css 库的全面技术概述,这是一个跨浏览器 CSS 动画集合,使开发人员能够轻松地为 HTML 元素添加动画效果。本页介绍了库的主要组件、架构和使用模式,为后续页面更详细的文档奠定了基础。
Animate.css 是一个轻量级的、纯 CSS 的动画库,提供了一系列即用型动画。它实现了一个基于类的系统,允许开发人员将各种动画效果应用于 Web 元素,而无需编写自定义 CSS 关键帧或 JavaScript 动画代码。
Animate.css 由几个核心组件组成,它们协同工作以提供其动画功能。
该库的基础是 animate__animated 类,它设置了所有动画共享的基本动画属性。
基础类与特定的动画类结合使用,以创建所需的动画效果。
Animate.css 使用 CSS 自定义属性(变量)来实现动画的轻松自定义。
| 可变 | 默认值 | 目的 |
|---|---|---|
--animate-duration | 1秒 | 控制动画持续时间 |
--animate-delay | 1秒 | 控制动画延迟 |
--animate-repeat | 1 | 控制动画重复次数 |
这些变量可以通过 CSS 进行覆盖,以在不修改库代码的情况下自定义动画。
该库将动画组织成逻辑类别,代表每个动画的用途或效果。
animate__bounce, animate__flash)animate__fadeIn, animate__slideInUp)animate__fadeOut, animate__slideOutDown)animate__hinge, animate__jackInTheBox)来源:animate.css113 animate.css868 animate.css1037 animate.css1206 animate.css3310
该库提供了修改基本动画行为的实用类。
| 实用工具类 | 目的 |
|---|---|
animate__delay-1s 到 animate__delay-5s | 在动画开始前添加延迟。 |
animate__fast, animate__faster | 减小动画时长。 |
animate__slow, animate__slower | 增大动画时长。 |
animate__repeat-1 到 animate__repeat-3 | 控制动画重复的次数。 |
animate__infinite | 使动画无限重复。 |
Animate.css 中的每个动画都遵循一致的实现模式。
每个动画由以下部分组成:
@keyframes 定义动画状态。例如,bounce 动画是通过以下方式实现的:
.animate__bounce 类。Animate.css 内置支持 prefers-reduced-motion 媒体查询,确保动画不会给有前庭障碍或对运动敏感的用户带来问题。
此代码有效地为在其操作系统设置中已指明首选减少动画的用户禁用动画。
来源:animate.css99-112 README.md28-30
要使用 Animate.css,开发人员需要向 HTML 元素添加两个类:
animate__animatedanimate__bounceHTML 示例
来源:README.md7 animate.css15-22 animate.css190-195
动画可以通过实用类进行自定义,或通过覆盖 CSS 变量进行自定义。
来源:animate.css10-14 animate.css23-98
该库可以通过多种方式包含在项目中。
| 方法 | 命令/语法 |
|---|---|
| npm | npm install animate.css --save |
| yarn | yarn add animate.css |
| CDN | 链接到 CDN 托管的 CSS 文件。 |
| 下载 | 下载并直接包含 CSS 文件。 |
有关 Animate.css 特定方面的更多详细信息,请参阅: