
Vant
轻量、可定制的移动端 Vue 组件库
Animate.css 是一个面向 Web 前端开发的跨浏览器 CSS 动画库。它把常用的 CSS @keyframes 动画封装成预定义类名,开发者只需在 HTML 元素上添加一个 class,即可让元素产生动画效果,无需手写任何关键帧代码。
该库提供数十种即用型动画,按效果类型大致可分为以下几类:
| 类别 | 代表效果 | 典型用途 |
|---|---|---|
| 进入动画 | fadeIn、slideInDown、zoomIn | 页面元素入场、弹窗出现 |
| 退出动画 | fadeOut、slideOutUp、zoomOut | 元素隐藏、视图切换 |
| 强调动画 | bounce、pulse、shake、tada | 吸引注意力、操作反馈 |
| 特殊动画 | flip、rotateIn、lightSpeedIn | 转场与创意展示 |
每个动画类均支持通过 CSS 自定义属性调整时长与延迟:
.animated-element {
animation-duration: 0.8s;
animation-delay: 0.2s;
}
可通过 npm 安装:
npm install animate.css
也可通过 CDN 直接引入:
<link
rel="stylesheet"
href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/4.1.1/animate.min.css"
/>
给目标元素添加基础类 animate__animated 和具体的动画类(如 animate__bounce):
<h1 class="animate__animated animate__bounce">标题内容</h1>
在需要动态触发动画的场景中,通常的做法是先移除动画类,强制浏览器重排后再重新添加,以实现重复播放:
const el = document.getElementById('target');
el.classList.remove('animate__bounce');
void el.offsetWidth; // 触发 reflow
el.classList.add('animate__bounce');
适合:
需注意:
prefers-reduced-motion 媒体查询,为有需求的用户关闭动画Animate.css 的核心价值在于降低 CSS 动画的使用门槛。对于追求开发效率、不需要复杂动画逻辑的项目,它是一个成熟且维护稳定的选择;对于需要精细控制动画曲线、序列或性能的场景,则应将其视为辅助工具或参考实现,而非最终方案。







