tailwindcss-motion 是 RomboHQ 制作的 Tailwind CSS 插件。它是一个简单但功能强大的动画库,语法简单。
运动,没有骚动。
1.安装npm包
npm i -D tailwindcss-motion2. 添加到 tailwind.config.js 中
// tailwind.config.js
export default {
content : [ ... ] ,
theme : {
extend : { ... } ,
} ,
plugins : [ require ( 'tailwindcss-motion' ) ] ,
} ;或者,使用 ESM:
import tailwindcssMotion from "tailwindcss-motion" ;
/** @type {import('tailwindcss').Config} */
export default {
content : [ ... ] ,
theme : {
extend : { } ,
} ,
plugins : [ tailwindcssMotion ] ,
} ; 我们提供了一个简单的语法来为 Tailwind 项目中的任何元素设置动画。我们不定义自定义关键帧,而是提供实用程序类来内联动画每个维度。
例如,对于幻灯片和淡入淡出效果 - 您只需要motion-translate-x-in-25 motion-opacity-in-0 ,或者,您可以将我们的预设之一与motion-preset-fade一起使用
我们提供一系列预设来轻松为您的组件设置动画:
motion-preset-fademotion-preset-slide-rightmotion-preset-slide-leftmotion-preset-slide-upmotion-preset-slide-downmotion-preset-focusmotion-preset-blur-rightmotion-preset-blur-leftmotion-preset-blur-upmotion-preset-blur-downmotion-preset-bouncemotion-preset-expandmotion-preset-shrinkmotion-preset-popmotion-preset-compressmotion-preset-shakemotion-preset-wigglemotion-preset-confettimotion-preset-typewriter-[number of characters]motion-preset-flomoji您可以使用基本动画和修改器类进一步自定义预设。
例如:
motion-preset-fade : < div class =" motion-preset-fade motion-delay-500 " > </ div >motion-preset-slide-right的持续时间: < div class =" motion-preset-slide-right motion-duration-2000 " > </ div >motion-preset-bounce的高度: < div class =" motion-preset-bounce -motion-translate-y-in-150 " > </ div > 除了预设之外,您还可以通过组合这些基类来创建自己的自定义动画:
motion-opacity-in-0motion-translate-y-in-100-motion-translate-y-in-100motion-scale-in-75motion-rotate-in-180-motion-rotate-in-90motion-blur-in-smmotion-grayscale-inmotion-bg-in-red-500motion-text-in-blue-500您可以在单个元素上组合多个动画:
< div
class =" motion-scale-in-75 motion-translate-y-in-100 motion-rotate-in-90 "
> </ div >对于退出动画,只需将类名称中的in替换为out即可。
您可以自定义任何动画的持续时间、延迟和计时功能。
motion-duration-500motion-delay-500motion-timing-spring-bouncy例如:
< div
class =" motion-duration-2000 motion-rotate-in-180 motion-opacity-in-0 "
> </ div >这会将 2000 毫秒的持续时间应用于旋转和不透明度动画。
您可以使用斜杠/将修饰符应用于特定属性。
例如:
< div
class =" motion-delay-500/rotate motion-rotate-in-180 motion-opacity-in-0 "
> </ div >这里,500ms 的延迟仅应用于旋转,而不应用于不透明度。
该插件包括自定义计时功能:
一些例子是:
motion-ease-spring-smoothmotion-ease-spring-snappymotion-ease-spring-bouncymotion-ease-spring-bounciestmotion-ease-bouncemotion-ease-bouncemotion-ease-in-quart登陆页面 - https://play.tailwindcss.com/uAuVF8F1vC

聊天对话框 - https://play.tailwindcss.com/gjGqEKswjQ

低电量动态岛 - https://play.tailwindcss.com/tvYFbHtNNQ

苹果颜色样本 - https://play.tailwindcss.com/cvQ3Nk3v8j

Rombo 是一家早期公司,致力于开发工具来帮助公司构建漂亮的交互界面。我们开始为工程师、设计师和创意营销人员提供一个工具包,以便在常见工作流程中本地制作动画 - 例如 Tailwind、Figma、Webflow、Shopify 等!在我们的网站上注册更新:https://rombo.co