跳到主要内容
ZH
v3300 个图标 · 零依赖 · MIT→

让图标动起来

免费动态图标库:适用于 React、shadcn/ui 和 Lottie 的动画图标

useAnimations 提供 300 个手工制作的微动画图标,每个图标都内置悬停、点击或循环微交互。您可以把它们作为 React 组件使用,通过 shadcn 一条命令添加到项目中,或者直接下载 SVG 和 Lottie JSON 文件。采用 MIT 许可证。

浏览全部图标

在图标阵列上移动指针试试。

动态图标
300
动态图标
内置交互
6
内置交互
播放器(gzip 压缩后)
8 kB
播放器(gzip 压缩后)
依赖
0
依赖

交互内置

每个图标都知道该怎么动。

每个图标都自带为它设计的交互,放进页面即可使用,也可以用一个属性换成其他交互。动手试试:

图标库

300 个免费动态图标

悬停或点击即可播放。打开图标可查看代码,并下载 Lottie JSON、SVG 和 ZIP。

300 个图标

警告提示

通知铃铛

导航与箭头

操作按钮

文件、文件夹与用户

表单控件

媒体播放

文本编辑

通讯

设备

天气

地图与位置

电子商务

图表

开发者

设计与布局

形状与数学

加载动画

社交媒体

其他

随心使用

安装、导入,就这么简单。

零依赖的 React 组件、shadcn 注册表、带固定网址的可下载文件,以及 AI 智能体可以读取的图标目录。

阅读文档 →
import UseAnimations from 'react-useanimations';
import menu from 'react-useanimations/lib/menu';

export function MenuButton({ open, onToggle }) {
  return (
    <UseAnimations
      animation={menu}
      active={open}
      onClick={onToggle}
      size={28}
    />
  );
}

小巧、无障碍,样式由您掌控。

跟随您的配色

图标使用 currentColor,自动继承文字颜色、悬停状态和深色模式。也可以通过属性、类名或普通 CSS 覆盖。

生来小巧

8 kB

内置播放器,零依赖。每个图标都是约 2 kB 的独立模块。

默认无障碍

尊重系统的“减少动态效果”设置,键盘聚焦时同样播放悬停动画,并且在您添加标签之前不会干扰屏幕阅读器。

支持服务端渲染

客户端组件,可以在 Next.js、Remix 和 Astro 中安全渲染。图标本身是普通数据,在任何地方都能导入。

为 AI 智能体准备

带类型定义的图标目录为每个图标列出关键词,另有 icons.json、llms.txt 和 Markdown 文档。

找到合适的微动画。

常见问题

什么是微动画和动态图标?

微动画是响应用户操作的简短动效,每个只表达一件事,例如菜单图标变成关闭按钮、点赞时爱心被填满、有新消息时铃铛摇动。动态图标是最常见的微动画,它让界面反馈更及时,不需要额外的文字就能表达状态变化。

Lottie 文件和 SVG 文件有什么区别?

Lottie JSON 文件包含完整的动画,可以在任何 Lottie 播放器中播放,包括 react-useanimations 内置的播放器。SVG 文件是图标静止时的图片,每个状态一张(例如 eye 和 eye-off),适合不需要动效的场景:邮件、文档、设计工具,或不运行 JavaScript 时的备用方案。

可以在 Next.js 和服务端渲染中使用吗?

可以。组件标记为 'use client',只在浏览器中绘制动画,因此可以在服务端组件以及 Next.js、Remix、Astro 等 SSR 框架中直接渲染,无需动态导入。图标模块是普通数据,服务端组件可以直接导入并作为属性传递。 Next.js 与服务端渲染 →

可以用于商业项目吗?

可以。图标和 react-useanimations 软件包都采用 MIT 许可证,可以在个人和商业作品中使用、修改和再分发。署名不是必需的,但我们很欢迎。 许可与条款 →

不使用 React 也能用吗?

可以。每个图标都是标准的 Lottie JSON 文件,可以通过 lottie-web 在原生 JavaScript、Vue、Svelte、Angular 或 CMS 中播放,也可以在 iOS、Android 和 Flutter 的 Lottie 播放器中使用。Lottie 图标页面列出了文件网址,并为每种交互提供了现成的 lottie-web 代码片段。 Lottie 图标 →

会让打包体积增加多少?

react-useanimations 3.1.1 的播放器压缩后约 8 kB,没有依赖;每个图标是 1 到 15 kB 的独立模块(中位数 2 kB),最终只打包您导入的图标。

为界面注入活力。

免费,采用 MIT 许可证,个人和商业项目均可使用。

开始使用