Tailwind CSS 实用技巧
· BlogAI
#Tailwind CSS
#CSS
#Tips
Tailwind CSS 实用技巧
Tailwind CSS 是一个实用优先的 CSS 框架,可以大大提高开发效率。
1. 使用 @apply 提取重复样式
当你发现重复使用相同的类组合时,可以使用 @apply 提取:
.btn-primary {
@apply px-4 py-2 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors;
}
2. 自定义配置
在 tailwind.config.js 中扩展默认主题:
export default {
theme: {
extend: {
colors: {
brand: {
50: '#f0f9ff',
500: '#0ea5e9',
900: '#0c4a6e',
},
},
fontFamily: {
sans: ['Inter', 'sans-serif'],
},
},
},
};
3. 响应式设计
Tailwind 的响应式前缀让移动优先设计变得简单:
<div class="text-sm md:text-base lg:text-lg">
响应式文本
</div>
断点:
sm: 640pxmd: 768pxlg: 1024pxxl: 1280px2xl: 1536px
4. 暗色模式
启用暗色模式支持:
// tailwind.config.js
export default {
darkMode: 'class', // 或 'media'
};
使用:
<div class="bg-white dark:bg-gray-900 text-gray-900 dark:text-white">
支持暗色模式的内容
</div>
5. 任意值
使用方括号语法应用任意值:
<div class="w-[137px] bg-[#1da1f2] top-[117px]">
自定义值
</div>
6. 组合选择器
使用 group 和 peer 实现复杂交互:
<!-- Group -->
<div class="group">
<img class="group-hover:scale-110 transition-transform" />
<p class="group-hover:text-blue-600">悬停时改变</p>
</div>
<!-- Peer -->
<input type="checkbox" class="peer" />
<label class="peer-checked:text-blue-600">复选框标签</label>
7. 容器查询
Tailwind 3.2+ 支持容器查询:
<div class="@container">
<div class="@lg:text-xl">
容器大时显示大文本
</div>
</div>
8. 动画和过渡
内置动画类:
<div class="animate-spin">旋转</div>
<div class="animate-pulse">脉冲</div>
<div class="animate-bounce">弹跳</div>
自定义过渡:
<div class="transition-all duration-300 ease-in-out hover:scale-105">
平滑过渡
</div>
9. 插件生态
推荐插件:
npm install -D @tailwindcss/typography
npm install -D @tailwindcss/forms
npm install -D @tailwindcss/aspect-ratio
使用:
export default {
plugins: [
require('@tailwindcss/typography'),
require('@tailwindcss/forms'),
],
};
10. 性能优化
清除未使用的样式
Tailwind 自动清除生产环境中未使用的样式。
JIT 模式
Just-In-Time 模式按需生成样式,开发时更快:
export default {
mode: 'jit', // Tailwind 3+ 默认启用
};
11. 调试技巧
使用浏览器扩展:
- Tailwind CSS IntelliSense (VS Code)
- Tailwind Shades (Chrome)
查看生成的 CSS:
npx tailwindcss -o output.css
12. 组件库集成
Tailwind 可以与组件库很好地配合:
- Headless UI
- Radix UI
- DaisyUI
- Flowbite
最佳实践
- 保持一致性 - 使用设计系统
- 避免过度使用 @apply - 保持实用优先
- 使用语义化命名 - 提取组件时使用有意义的名称
- 移动优先 - 从小屏幕开始设计
- 利用配置 - 自定义主题而不是硬编码值
总结
Tailwind CSS 提供了强大而灵活的工具集,掌握这些技巧可以让你的开发更加高效。
记住:
- 实用优先,但不要过度
- 充分利用配置系统
- 保持代码可维护性
Happy coding! 🎨