Tailwind CSS 基本概念 #
命名规范 #
Tailwind CSS 的类名遵循一致的命名模式,理解这个模式是掌握 Tailwind 的关键。
基本结构 #
text
[属性前缀]-[值]
常见属性前缀 #
| 前缀 | CSS 属性 | 示例 |
|---|---|---|
p |
padding | p-4 |
m |
margin | m-2 |
w |
width | w-full |
h |
height | h-screen |
text |
文本相关 | text-lg |
bg |
background | bg-blue-500 |
border |
边框相关 | border-gray-200 |
flex |
Flexbox | flex-row |
grid |
Grid | grid-cols-3 |
rounded |
border-radius | rounded-lg |
方向修饰符 #
html
<!-- 内边距 -->
<div class="p-4"> <!-- padding: 1rem -->
<div class="px-4"> <!-- padding-left/right: 1rem -->
<div class="py-4"> <!-- padding-top/bottom: 1rem -->
<div class="pt-4"> <!-- padding-top: 1rem -->
<div class="pr-4"> <!-- padding-right: 1rem -->
<div class="pb-4"> <!-- padding-bottom: 1rem -->
<div class="pl-4"> <!-- padding-left: 1rem -->
<!-- 外边距 -->
<div class="m-4"> <!-- margin: 1rem -->
<div class="mx-auto"> <!-- margin-left/right: auto(水平居中) -->
<div class="my-4"> <!-- margin-top/bottom: 1rem -->
<div class="mt-4"> <!-- margin-top: 1rem -->
<div class="mr-4"> <!-- margin-right: 1rem -->
<div class="mb-4"> <!-- margin-bottom: 1rem -->
<div class="ml-4"> <!-- margin-left: 1rem -->
方向记忆法 #
text
t = top(上)
r = right(右)
b = bottom(下)
l = left(左)
x = left + right(水平方向)
y = top + bottom(垂直方向)
值系统 #
Tailwind CSS 使用一套统一的值系统,让样式保持一致性。
间距值 #
间距值基于 4px 的倍数:
| 类名 | 值 | 像素 |
|---|---|---|
0 |
0 | 0px |
px |
1px | 1px |
0.5 |
0.125rem | 2px |
1 |
0.25rem | 4px |
1.5 |
0.375rem | 6px |
2 |
0.5rem | 8px |
2.5 |
0.625rem | 10px |
3 |
0.75rem | 12px |
3.5 |
0.875rem | 14px |
4 |
1rem | 16px |
5 |
1.25rem | 20px |
6 |
1.5rem | 24px |
7 |
1.75rem | 28px |
8 |
2rem | 32px |
9 |
2.25rem | 36px |
10 |
2.5rem | 40px |
11 |
2.75rem | 44px |
12 |
3rem | 48px |
14 |
3.5rem | 56px |
16 |
4rem | 64px |
20 |
5rem | 80px |
24 |
6rem | 96px |
28 |
7rem | 112px |
32 |
8rem | 128px |
字体大小 #
| 类名 | 值 |
|---|---|
text-xs |
0.75rem (12px) |
text-sm |
0.875rem (14px) |
text-base |
1rem (16px) |
text-lg |
1.125rem (18px) |
text-xl |
1.25rem (20px) |
text-2xl |
1.5rem (24px) |
text-3xl |
1.875rem (30px) |
text-4xl |
2.25rem (36px) |
text-5xl |
3rem (48px) |
text-6xl |
3.75rem (60px) |
text-7xl |
4.5rem (72px) |
text-8xl |
6rem (96px) |
text-9xl |
8rem (128px) |
颜色系统 #
Tailwind 提供了丰富的颜色调色板:
html
<!-- 颜色格式:[属性]-[颜色]-[深浅] -->
<div class="bg-blue-500">蓝色背景</div>
<div class="text-gray-700">灰色文字</div>
<div class="border-red-300">红色边框</div>
颜色深浅范围:50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950
响应式设计 #
Tailwind 采用移动优先的响应式设计。
断点系统 #
| 断点 | 最小宽度 | CSS |
|---|---|---|
sm |
640px | @media (min-width: 640px) |
md |
768px | @media (min-width: 768px) |
lg |
1024px | @media (min-width: 1024px) |
xl |
1280px | @media (min-width: 1280px) |
2xl |
1536px | @media (min-width: 1536px) |
使用方式 #
html
<!-- 移动优先:默认小屏样式,逐步添加大屏样式 -->
<div class="text-sm md:text-base lg:text-lg">
响应式文字
</div>
<!-- 响应式布局 -->
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3">
<div>项目 1</div>
<div>项目 2</div>
<div>项目 3</div>
</div>
<!-- 响应式显示隐藏 -->
<div class="hidden md:block">
中等屏幕及以上显示
</div>
<div class="block md:hidden">
仅小屏幕显示
</div>
状态修饰符 #
悬停状态 #
html
<button class="bg-blue-500 hover:bg-blue-700">
悬停变色
</button>
焦点状态 #
html
<input class="border focus:border-blue-500 focus:ring-2">
激活状态 #
html
<button class="bg-blue-500 active:bg-blue-800">
点击变色
</button>
组合使用 #
html
<button class="bg-blue-500 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 active:bg-blue-800">
完整交互状态
</button>
暗色模式 #
html
<!-- 自动适配暗色模式 -->
<div class="bg-white dark:bg-gray-800 text-gray-900 dark:text-white">
暗色模式支持
</div>
任意值 #
当预定义值不能满足需求时,可以使用任意值:
html
<!-- 任意颜色 -->
<div class="bg-[#1da1f2]">自定义颜色</div>
<!-- 任意尺寸 -->
<div class="w-[300px] h-[200px]">自定义尺寸</div>
<!-- 任意间距 -->
<div class="p-[13px]">自定义间距</div>
<!-- 任意值与响应式 -->
<div class="w-[200px] md:w-[400px]">响应式任意值</div>
负值 #
某些属性支持负值:
html
<!-- 负外边距 -->
<div class="-mt-4">向上偏移 1rem</div>
<div class="-ml-2">向左偏移 0.5rem</div>
<!-- 负定位 -->
<div class="-top-4 -right-4">定位偏移</div>
重要修饰符 #
使用 ! 前缀添加 !important:
html
<div class="!text-red-500">
强制红色文字
</div>
类名组织建议 #
按功能分组 #
html
<!-- 推荐的类名顺序 -->
<button class="
/* 布局 */
flex items-center justify-center
/* 尺寸 */
w-full h-12
/* 间距 */
px-4 py-2
/* 边框 */
border border-transparent rounded-lg
/* 颜色 */
bg-blue-500 text-white
/* 效果 */
shadow-md
/* 状态 */
hover:bg-blue-600 active:bg-blue-700
/* 过渡 */
transition-colors duration-200
">
按钮
</button>
使用 Prettier 自动排序 #
安装 prettier-plugin-tailwindcss:
bash
npm install -D prettier prettier-plugin-tailwindcss
.prettierrc:
json
{
"plugins": ["prettier-plugin-tailwindcss"]
}
下一步 #
理解基本概念后,继续学习 实用优先思想 深入了解 Tailwind CSS 的设计哲学!
最后更新:2026-03-28