Tailwind CSS 过渡 #
过渡属性(Transition Property) #
指定属性 #
html
<!-- 所有属性 -->
<div class="transition-all">所有属性过渡</div>
<!-- 无过渡 -->
<div class="transition-none">无过渡</div>
<!-- 默认(颜色、背景、边框) -->
<div class="transition">默认属性过渡</div>
<!-- 颜色 -->
<div class="transition-colors">颜色过渡</div>
<!-- 透明度 -->
<div class="transition-opacity">透明度过渡</div>
<!-- 阴影 -->
<div class="transition-shadow">阴影过渡</div>
<!-- 变换 -->
<div class="transition-transform">变换过渡</div>
过渡持续时间(Transition Duration) #
html
<div class="duration-75">75ms</div>
<div class="duration-100">100ms</div>
<div class="duration-150">150ms</div>
<div class="duration-200">200ms</div>
<div class="duration-300">300ms</div>
<div class="duration-500">500ms</div>
<div class="duration-700">700ms</div>
<div class="duration-1000">1000ms</div>
任意持续时间 #
html
<div class="duration-[2000ms]">2秒</div>
过渡时间函数(Transition Timing Function) #
html
<!-- 线性 -->
<div class="ease-linear">线性</div>
<!-- 缓入 -->
<div class="ease-in">缓入</div>
<!-- 缓出 -->
<div class="ease-out">缓出</div>
<!-- 缓入缓出(默认) -->
<div class="ease-in-out">缓入缓出</div>
过渡延迟(Transition Delay) #
html
<div class="delay-75">延迟 75ms</div>
<div class="delay-100">延迟 100ms</div>
<div class="delay-150">延迟 150ms</div>
<div class="delay-200">延迟 200ms</div>
<div class="delay-300">延迟 300ms</div>
<div class="delay-500">延迟 500ms</div>
<div class="delay-700">延迟 700ms</div>
<div class="delay-1000">延迟 1000ms</div>
任意延迟 #
html
<div class="delay-[2000ms]">延迟 2秒</div>
过渡简写 #
html
<!-- 常用简写 -->
<div class="transition">默认过渡</div>
<div class="transition-all">所有属性</div>
<div class="transition-colors">颜色属性</div>
<div class="transition-opacity">透明度</div>
<div class="transition-shadow">阴影</div>
<div class="transition-transform">变换</div>
实战示例 #
悬停变色 #
html
<button class="bg-blue-500 hover:bg-blue-600 text-white px-4 py-2 rounded transition-colors duration-200">
悬停变色
</button>
悬停缩放 #
html
<div class="hover:scale-105 transition-transform duration-200">
悬停缩放
</div>
悬停阴影 #
html
<div class="shadow-md hover:shadow-xl transition-shadow duration-300">
悬停阴影
</div>
淡入淡出 #
html
<div class="opacity-50 hover:opacity-100 transition-opacity duration-300">
悬停淡入
</div>
组合过渡 #
html
<div class="bg-white hover:bg-blue-500 text-gray-900 hover:text-white p-4 rounded transition-all duration-300">
组合过渡效果
</div>
延迟动画 #
html
<div class="opacity-0 hover:opacity-100 transition-opacity duration-300 delay-150">
延迟淡入
</div>
卡片悬停 #
html
<div class="group bg-white rounded-lg shadow-md hover:shadow-xl p-6 transition-all duration-300 hover:-translate-y-1">
<h3 class="font-semibold group-hover:text-blue-500 transition-colors">卡片标题</h3>
<p class="text-gray-600 mt-2">卡片内容</p>
</div>
按钮效果 #
html
<button class="bg-blue-500 text-white px-6 py-3 rounded-lg hover:bg-blue-600 hover:scale-105 active:scale-95 transition-all duration-200">
按钮效果
</button>
下拉菜单 #
html
<div class="group relative">
<button class="px-4 py-2">菜单</button>
<div class="absolute top-full left-0 opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200">
<div class="bg-white shadow-lg rounded-lg py-2 mt-2">
<a href="#" class="block px-4 py-2 hover:bg-gray-100">选项 1</a>
<a href="#" class="block px-4 py-2 hover:bg-gray-100">选项 2</a>
</div>
</div>
</div>
手风琴 #
html
<div class="border rounded-lg overflow-hidden">
<button class="w-full px-4 py-3 text-left hover:bg-gray-50 transition-colors">
标题
</button>
<div class="max-h-0 overflow-hidden transition-all duration-300" id="content">
<div class="p-4">
内容区域
</div>
</div>
</div>
模态框 #
html
<div class="fixed inset-0 bg-black/50 opacity-0 invisible transition-opacity duration-300" id="overlay">
<div class="flex items-center justify-center min-h-screen">
<div class="bg-white rounded-lg p-6 scale-95 opacity-0 transition-all duration-300" id="modal">
模态框内容
</div>
</div>
</div>
交错动画 #
html
<div class="space-y-4">
<div class="opacity-0 hover:opacity-100 transition-opacity duration-300 delay-75">项目 1</div>
<div class="opacity-0 hover:opacity-100 transition-opacity duration-300 delay-150">项目 2</div>
<div class="opacity-0 hover:opacity-100 transition-opacity duration-300 delay-300">项目 3</div>
</div>
输入框焦点 #
html
<input class="border border-gray-300 focus:border-blue-500 focus:ring-2 focus:ring-blue-500/20 rounded-lg px-4 py-2 transition-all duration-200" placeholder="输入内容">
下一步 #
掌握过渡后,继续学习 动画 了解动画效果!
最后更新:2026-03-28