菜单

API 参考

相关源文件

本文档提供了 Animate.css 库 API 的全面参考,详细介绍了所有可用的动画类、实用类和 CSS 变量。它作为开发人员使用该库实现动画的技术参考。有关安装和基本用法信息,请参阅 概述

核心动画系统

基础动画类和 CSS 变量

Animate.css 的基础是 animate__animated 基础类,您希望为其添加动画的任何元素都必须应用此类,以及控制动画行为的 CSS 自定义属性(变量)。

来源: animate.css10-22

:root 中定义的 CSS 变量设定了默认动画参数

可变默认值目的
--animate-duration1秒控制动画持续时间
--animate-delay1秒控制动画延迟的基础值
--animate-repeat1控制动画重复次数

.animate__animated 类会将这些变量应用到元素上

来源: animate.css10-22

动画类别

Animate.css 根据动画的视觉效果和目的,将动画组织成逻辑类别

来源: animate.css113-1205

吸引注意力

这些动画在不进入或退出视口的情况下吸引注意力。

动画类描述CSS 实现
animate__bounce使元素上下弹跳animate.css190-195
animate__flash快速交替透明度animate.css220-223
animate__pulse放大和缩小元素animate.css257-262
animate__rubberBand通过各种缩放扭曲元素animate.css335-338
animate__shakeX水平晃动元素animate.css387-390
animate__shakeY垂直晃动元素animate.css439-442
animate__headShake逼真的左右摇头animate.css505-510
animate__swing前后旋转元素animate.css563-568
animate__tada轻微放大和旋转animate.css633-636
animate__wobble左右摇摆animate.css710-713
animate__jello应用倾斜变换以产生果冻效果animate.css800-805
animate__heartBeat模拟心跳双重脉冲animate.css858-867

来源: animate.css113-867

进入动画

这些动画将元素引入视图,根据动画样式分为子类别。

回弹进入

动画类描述
animate__backInDown从顶部进入,放大
animate__backInLeft从左侧进入,放大
animate__backInRight从右侧进入,放大
animate__backInUp从底部进入,放大

来源: animate.css868-1036 source/bouncing_entrances/bounceInDown.css1-36 source/bouncing_entrances/bounceInLeft.css1-36 source/bouncing_entrances/bounceInRight.css1-36 source/bouncing_entrances/bounceInUp.css1-36

弹跳进入

动画类描述
animate__bounceIn从中心弹入并放大
animate__bounceInDown从顶部弹入
animate__bounceInLeft从左侧弹入
animate__bounceInRight从右侧弹入
animate__bounceInUp从底部弹入

来源: animate.css1206-1380 source/bouncing_entrances/bounceInDown.css1-36 source/bouncing_entrances/bounceInLeft.css1-36 source/bouncing_entrances/bounceInRight.css1-36 source/bouncing_entrances/bounceInUp.css1-36

缩放进入

动画类描述
animate__zoomIn从中心缩放进入
animate__zoomInDown从顶部缩放进入
animate__zoomInLeft从左侧缩放进入
animate__zoomInRight从右侧缩放进入
animate__zoomInUp从底部缩放进入

来源: source/zooming_entrances/zoomInLeft.css1-18 source/zooming_entrances/zoomInRight.css1-18

退出动画

这些动画将元素移出视图,同样根据动画样式分为子类别。

弹跳移出

动画类描述
animate__bounceOut向中心弹出并缩小
animate__bounceOutDown向底部弹出
animate__bounceOutLeft向左侧弹出
animate__bounceOutRight向右侧弹出
animate__bounceOutUp向上弹出

来源: source/bouncing_exits/bounceOutDown.css1-21 source/bouncing_exits/bounceOutLeft.css1-16 source/bouncing_exits/bounceOutRight.css1-16 source/bouncing_exits/bounceOutUp.css1-21

放大退出

动画类描述
animate__zoomOut放大到中心
animate__zoomOutDown放大到底部
animate__zoomOutLeft放大到左侧
animate__zoomOutRight放大到右侧
animate__zoomOutUp放大到顶部

来源: source/zooming_exits/zoomOutLeft.css1-17 source/zooming_exits/zoomOutRight.css1-17

翻转退出

动画类描述
animate__flipOutX沿 X 轴翻转并淡出
animate__flipOutY沿 Y 轴翻转并淡出

来源: source/flippers/flipOutX.css1-22 source/flippers/flipOutY.css1-22

特殊动画

动画类描述
animate__hinge元素像合页一样掉落
animate__jackInTheBox从中心旋转并放大进入
animate__rollIn从左侧滚动进入
animate__rollOut滚动到右侧

来源: source/specials/hinge.css1-30

工具类

Animate.css 提供了实用程序类,可在不更改动画类型本身的情况下修改动画行为。

来源: animate.css15-98

速度类

这些类修改动画持续时间

描述持续时间CSS
animate__faster默认持续时间的 50%calc(var(--animate-duration) / 2)animate.css75-80
animate__fast默认持续时间的 80%calc(var(--animate-duration) * 0.8)animate.css81-86
animate__slow默认持续时间的 2 倍calc(var(--animate-duration) * 2)animate.css87-92
animate__slower默认持续时间的 3 倍calc(var(--animate-duration) * 3)animate.css93-98

来源: animate.css45-74

延迟类

这些类在动画开始前添加延迟

描述延迟CSS
animate__delay-1s延迟 1 秒var(--animate-delay)animate.css45-50
animate__delay-2s延迟 2 秒calc(var(--animate-delay) * 2)animate.css51-56
animate__delay-3s延迟 3 秒calc(var(--animate-delay) * 3)animate.css57-62
animate__delay-4s延迟 4 秒calc(var(--animate-delay) * 4)animate.css63-68
animate__delay-5s延迟 5 秒calc(var(--animate-delay) * 5)animate.css69-74

来源: animate.css45-74

重复类

这些类控制动画重复的次数

描述重复次数CSS
animate__repeat-1播放一次(默认)var(--animate-repeat)animate.css27-32
animate__repeat-2播放两次calc(var(--animate-repeat) * 2)animate.css33-38
animate__repeat-3播放三次calc(var(--animate-repeat) * 3)animate.css39-44
animate__infinite无限重复infiniteanimate.css23-26

来源: animate.css23-44

无障碍功能

Animate.css 支持 `prefers-reduced-motion` 媒体查询,确保动画不会给有前庭障碍或对运动敏感的用户带来问题。

当匹配此媒体查询时

  • 动画将被缩短到 1 毫秒(实质上禁用它们)
  • 退出动画仅将 `opacity` 设置为 `0`,而不进行动画处理

来源: animate.css99-112

JavaScript 集成

您可以使用这些常见模式通过 JavaScript 以编程方式控制动画

应用动画

检测动画结束

链式动画

以编程方式设置 CSS 变量

来源: animate.css15-22

动画结构模式

Animate.css 中的每个动画都遵循一致的模式

  1. 一个 `@keyframes` 定义,用于指定动画步骤
  2. 一个应用动画名称和任何特殊属性的类

例如,`bounceIn` 动画

该模式在整个库中一致使用,使得理解每个动画的实现变得容易。

来源: animate.css1207-1302 source/bouncing_entrances/bounceInDown.css1-36