面向 React、Vue、Angular 和原生 JS 的 1170 个动画 SVG 图标库,支持悬停或手动触发。
motiondivision/motion
一个用于 JavaScript、React 和 Vue 的开源动画库,支持弹簧动画、手势、布局过渡等。
- Star
- 34,961
- Fork
- 1,520
- 未关闭 Issue
- 16
- 最近提交
- 17小时前
这是什么?
Motion 是一个面向 JavaScript 的动画库,分别提供 React 和 Vue 版本。React 版通过 motion/react 引入,核心 JavaScript 包则提供 animate 函数,接收选择器或元素以及目标属性值即可产生动画。
库内将 JavaScript 的逻辑控制与浏览器原生 API 结合,使动画可以利用 GPU 加速运行。内置手势、弹簧物理、布局过渡、滚动联动效果和时间线等能力。项目使用 TypeScript 编写,支持 tree-shaking,并附有 450 多个官方示例和大量教程。
该项目此前以 Framer Motion 名称发布,React 用户需要将导入路径从 framer-motion 改为 motion/react。付费版 Motion+ 提供高级 API、过渡编辑器和更多示例。
核心功能
- 01提供 React 组件化写法和原生 JavaScript 的 animate 函数。
- 02支持弹簧物理、手势和布局过渡。
- 03支持滚动联动效果和时间线编排。
- 04通过 motion-v 包支持 Vue。
- 05基于 TypeScript,构建产物支持 tree-shaking。
适用场景
- 为 React 组件界面添加入场、退场和悬停动画。
- 为布局中位置或尺寸发生变化的元素添加过渡效果。
- 在营销页或落地页上实现滚动驱动的视觉效果。
- 在 Vue 应用中无需编写底层动画代码即可加入动效。
快速上手
- 1
安装 React 或 JavaScript 版 Motion
npm install motion - 2
安装 Vue 版 Motion
npm install motion-v - 3
导入并使用 React 组件
使用前须知
- Framer Motion 已更名为 Motion,旧的 framer-motion 导入需要改为 motion/react。
标签
常见问题
- motion 是什么?
- 一个用于 JavaScript、React 和 Vue 的开源动画库,支持弹簧动画、手势、布局过渡等。 Motion 是一个面向 JavaScript 的动画库,分别提供 React 和 Vue 版本。React 版通过 motion/react 引入,核心 JavaScript 包则提供 animate 函数,接收选择器或元素以及目标属性值即可产生动画。
- motion 可以免费使用吗?用的什么许可证?
- motion 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- motion 还在维护吗?
- 活跃维护中。motion 最近一次提交是在 2026年11月6日。
- motion 适合用来做什么?
- 为 React 组件界面添加入场、退场和悬停动画。 为布局中位置或尺寸发生变化的元素添加过渡效果。 在营销页或落地页上实现滚动驱动的视觉效果。 在 Vue 应用中无需编写底层动画代码即可加入动效。
- motion 怎么安装和运行?
- 安装 React 或 JavaScript 版 Motion: npm install motion 安装 Vue 版 Motion: npm install motion-v 导入并使用 React 组件
- 在哪里获取 motion?
- 源代码和安装说明在 GitHub 上:https://github.com/motiondivision/motion
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1518+16 本周78TypeScriptMIT维护活跃更新于 23小时前
基于弹簧物理的 React 动画库,支持 DOM 与 react-three-fiber 元素,可声明式或命令式使用。
2.9万+4 本周1235TypeScriptMIT维护活跃更新于 6天前
基于 Tailwind CSS 和 Motion 的免费开源动画组件库,可直接集成到 shadcn/ui 项目中。
6985+124 本周373TypeScriptMIT维护活跃更新于 9天前
一个轻量、无依赖的网页平滑滚动库,在原生滚动基础上提供缓动动画效果。
1.7万+138 本周779TypeScriptMIT更新于 9天前