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