Tailwind CSS 动画
动画是吸引用户注意、提供反馈和创造流畅体验的强大工具。Tailwind CSS 内置了一些基础的动画和过渡工具类,让你可以轻松地为你的网站添加动态效果。
Transitions (过渡)
过渡 (Transition) 是最常见的动画形式,它可以在元素的某个 CSS 属性发生变化时,平滑地为其添加动画效果。例如,当按钮的背景色在 hover 状态下改变时。
要启用过渡,你需要做三件事:
- 添加
transition类: 这是一个基础类,用于启用过渡效果。 - 设置过渡时长 (Duration): 使用
duration-{time}工具类。duration-75,duration-100,duration-150,duration-200,duration-300,duration-500,duration-700,duration-1000
- 设置过渡缓动函数 (Timing Function): 使用
ease-{timing}工具类。ease-linear: 线性ease-in: 慢速开始ease-out: 慢速结束ease-in-out: (默认) 慢速开始和结束
在这个例子中,当鼠标悬停时,背景色、Y 轴位置和缩放比例的改变都会在 300 毫秒内平滑地发生。
默认情况下,Tailwind 会为颜色、阴影、transform 等常用属性启用过渡。你可以通过 transition-{property} 工具类(如 transition-colors)来单独控制哪些属性参与过渡。
Transforms (变换)
Transform 允许你对元素进行旋转、缩放、移动和倾斜,而不会影响到文档流中的其他元素。
- Scale (缩放):
scale-{amount},scale-x-{amount},scale-y-{amount}scale-95,scale-100,scale-110
- Rotate (旋转):
rotate-{angle}rotate-45,rotate-90,rotate-180
- Translate (移动):
translate-x-{amount},translate-y-{amount}translate-x-4,translate-y-1/2,-translate-x-full
- Skew (倾斜):
skew-x-{angle},skew-y-{angle}skew-x-3,skew-y-12
要使用 transform,你必须先在元素上添加 transform 工具类来启用 GPU 加速,以获得更平滑的动画效果。
Animation (动画)
对于更复杂的、基于关键帧 (keyframes) 的动画,Tailwind 提供了一些预设的动画工具类。
animate-spin: 用于创建加载指示器的旋转动画。animate-ping: 创建一个向外扩散的波纹效果,常用于通知标记。animate-pulse: 创建一个缓慢淡入淡出的效果,常用于骨架屏 (Skeleton) 加载状态。animate-bounce: 创建一个上下弹跳的效果,常用于指示可滚动或可点击的箭头。
你也可以在 tailwind.config.js 中定义自己的关键帧动画,并使用 animate-{name} 来应用它们。