Skip to Content
FrontTailwind CSS 类名完全教程

Tailwind CSS 类名完全教程

Tailwind CSS 是一个工具优先的 CSS 框架。不同于传统 CSS,它提供了大量预定义的类名,每个类名对应一个具体的样式。

🎭 交互式演示

下面是一个交互式的演示,你可以实时看到每个类名的效果:

🎯 宽度控制实时演示

父容器 (100% 宽度)
w-full
占满父容器宽度 (100%)
w-1/2
占一半宽度 (50%)
w-1/3
占 1/3 宽度
w-64
固定 256px 宽度

最大宽度限制 (max-w)

调整浏览器窗口大小查看效果

max-w-sm (384px)
内容不会超过 384px
max-w-md (448px)
内容不会超过 448px
max-w-lg (512px)
内容不会超过 512px
max-w-xl (576px)
内容不会超过 576px

🎯 核心概念

什么是 Tailwind CSS?

  • 传统 CSS: 写一个类名,然后定义它的样式
  • Tailwind CSS: 使用预定义的类名,直接应用样式
// 传统 CSS 方式 <div className="my-container">内容</div> // CSS 文件中需要定义: // .my-container { max-width: 1024px; margin: 0 auto; padding: 32px; } // Tailwind CSS 方式 <div className="max-w-4xl mx-auto p-8">内容</div> // 不需要写任何 CSS!

📚 详细文档

下面是每个类名的详细说明和用法:

📏 布局类名

1. 宽度控制 (Width)

类名含义实际 CSS
w-full占满父容器宽度width: 100%
w-1/2占父容器一半宽度width: 50%
w-64固定宽度 256pxwidth: 16rem (64 × 4px)
max-w-sm最大宽度 384pxmax-width: 24rem
max-w-md最大宽度 448pxmax-width: 28rem
max-w-lg最大宽度 512pxmax-width: 32rem
max-w-xl最大宽度 576pxmax-width: 36rem
max-w-2xl最大宽度 672pxmax-width: 42rem
max-w-3xl最大宽度 768pxmax-width: 48rem
max-w-4xl最大宽度 896pxmax-width: 56rem
max-w-5xl最大宽度 1024pxmax-width: 64rem
max-w-6xl最大宽度 1152pxmax-width: 72rem
max-w-7xl最大宽度 1280pxmax-width: 80rem

示例解释

<div className="max-w-4xl"> {/* 这个容器最大宽度是 896px,即使屏幕很宽,它也不会超过这个宽度 */} </div>

2. 外边距 (Margin)

类名含义实际 CSS
m-0无外边距margin: 0
m-1外边距 4pxmargin: 0.25rem
m-2外边距 8pxmargin: 0.5rem
m-4外边距 16pxmargin: 1rem
m-8外边距 32pxmargin: 2rem
mx-auto水平居中margin-left: auto; margin-right: auto
my-4上下外边距 16pxmargin-top: 1rem; margin-bottom: 1rem
mt-4顶部外边距 16pxmargin-top: 1rem
mb-4底部外边距 16pxmargin-bottom: 1rem
ml-4左侧外边距 16pxmargin-left: 1rem
mr-4右侧外边距 16pxmargin-right: 1rem

示例解释

<div className="mx-auto"> {/* mx = margin x轴(水平) auto = 自动 效果:左右外边距自动,实现水平居中 */} </div>

3. 内边距 (Padding)

类名含义实际 CSS
p-0无内边距padding: 0
p-1内边距 4pxpadding: 0.25rem
p-2内边距 8pxpadding: 0.5rem
p-4内边距 16pxpadding: 1rem
p-6内边距 24pxpadding: 1.5rem
p-8内边距 32pxpadding: 2rem
px-4左右内边距 16pxpadding-left: 1rem; padding-right: 1rem
py-4上下内边距 16pxpadding-top: 1rem; padding-bottom: 1rem
pt-4顶部内边距 16pxpadding-top: 1rem
pb-4底部内边距 16pxpadding-bottom: 1rem

数字规律

  • Tailwind 的数字单位:1 = 4px (0.25rem)
  • p-1 = 4px, p-2 = 8px, p-4 = 16px, p-8 = 32px

4. 间距工具 (Space Between)

类名含义效果
space-y-1子元素间垂直间距 4px每个子元素(除第一个)上边距 4px
space-y-2子元素间垂直间距 8px每个子元素(除第一个)上边距 8px
space-y-4子元素间垂直间距 16px每个子元素(除第一个)上边距 16px
space-y-6子元素间垂直间距 24px每个子元素(除第一个)上边距 24px
space-y-8子元素间垂直间距 32px每个子元素(除第一个)上边距 32px
space-y-12子元素间垂直间距 48px每个子元素(除第一个)上边距 48px
space-x-4子元素间水平间距 16px每个子元素(除第一个)左边距 16px

示例解释

<div className="space-y-4"> <div>项目 1</div> {/* 无上边距 */} <div>项目 2</div> {/* 上边距 16px */} <div>项目 3</div> {/* 上边距 16px */} </div>

📝 文字类名

1. 字体大小 (Font Size)

类名含义实际大小行高
text-xs极小12px16px
text-sm14px20px
text-base基础16px24px
text-lg18px28px
text-xl特大20px28px
text-2xl超大24px32px
text-3xl巨大30px36px
text-4xl最大36px40px
text-5xl48px48px48px
text-6xl60px60px60px

2. 字体粗细 (Font Weight)

类名含义实际 CSS
font-thin极细font-weight: 100
font-lightfont-weight: 300
font-normal正常font-weight: 400
font-medium中等font-weight: 500
font-semibold半粗font-weight: 600
font-bold粗体font-weight: 700
font-extrabold特粗font-weight: 800

3. 文字对齐 (Text Align)

类名含义实际 CSS
text-left左对齐text-align: left
text-center居中对齐text-align: center
text-right右对齐text-align: right
text-justify两端对齐text-align: justify

4. 文字颜色 (Text Color)

类名含义示例颜色
text-black黑色#000000
text-white白色#FFFFFF
text-gray-400浅灰#9CA3AF
text-gray-600中灰#4B5563
text-gray-700深灰#374151
text-gray-800更深灰#1F2937
text-blue-500蓝色#3B82F6
text-red-500红色#EF4444
text-green-500绿色#10B981

颜色数字规律

  • 100-900:数字越大颜色越深
  • 500:标准色调
  • 100-400:比标准浅
  • 600-900:比标准深

🎨 背景类名

类名含义示例
bg-white白色背景纯白
bg-gray-50极浅灰背景几乎白色
bg-gray-100浅灰背景淡灰
bg-blue-100浅蓝背景淡蓝
bg-red-100浅红背景淡红
bg-green-100浅绿背景淡绿

🔲 边框类名

类名含义实际 CSS
border1px 边框border-width: 1px
border-22px 边框border-width: 2px
border-44px 边框border-width: 4px
border-gray-300浅灰边框border-color: #D1D5DB
border-blue-500蓝色边框border-color: #3B82F6
rounded小圆角border-radius: 0.25rem
rounded-md中圆角border-radius: 0.375rem
rounded-lg大圆角border-radius: 0.5rem
rounded-xl特大圆角border-radius: 0.75rem
rounded-full完全圆形border-radius: 9999px

🌟 阴影类名

类名含义效果
shadow-sm小阴影轻微阴影
shadow标准阴影常规阴影
shadow-md中阴影明显阴影
shadow-lg大阴影强烈阴影
shadow-xl特大阴影非常强烈阴影
shadow-2xl超大阴影极强阴影

💫 显示类名

类名含义实际 CSS
block块级元素display: block
inline-block行内块display: inline-block
inline行内元素display: inline
flex弹性布局display: flex
grid网格布局display: grid
hidden隐藏display: none

🎯 Flexbox 布局类名

类名含义实际 CSS
flex启用 flexdisplay: flex
flex-row水平排列flex-direction: row
flex-col垂直排列flex-direction: column
justify-start主轴起点对齐justify-content: flex-start
justify-center主轴居中justify-content: center
justify-end主轴末尾对齐justify-content: flex-end
justify-between两端对齐justify-content: space-between
items-start交叉轴起点对齐align-items: flex-start
items-center交叉轴居中align-items: center
items-end交叉轴末尾对齐align-items: flex-end

📱 响应式类名

Tailwind 支持响应式设计,使用前缀来指定断点:

前缀最小宽度设备类型
无前缀0px所有设备
sm:640px手机横屏
md:768px平板
lg:1024px笔记本
xl:1280px桌面显示器
2xl:1536px大显示器

示例

<div className="text-sm md:text-base lg:text-lg"> {/* 手机上:小字体 平板上:基础字体 电脑上:大字体 */} </div>

🔄 常见组合模式

1. 居中容器

<div className="max-w-4xl mx-auto p-8"> {/* max-w-4xl: 最大宽度 896px mx-auto: 水平居中 p-8: 内边距 32px */} </div>

2. 卡片组件

<div className="bg-white rounded-lg shadow-md p-6"> {/* bg-white: 白色背景 rounded-lg: 大圆角 shadow-md: 中等阴影 p-6: 内边距 24px */} </div>

3. 标题文字

<h1 className="text-4xl font-bold text-center mb-8"> {/* text-4xl: 36px 大小 font-bold: 粗体 text-center: 居中对齐 mb-8: 底部外边距 32px */} </h1>

4. 按钮

<button className="bg-blue-500 text-white px-4 py-2 rounded hover:bg-blue-600"> {/* bg-blue-500: 蓝色背景 text-white: 白色文字 px-4: 左右内边距 16px py-2: 上下内边距 8px rounded: 圆角 hover:bg-blue-600: 悬停时变深蓝 */} </button>

5. 网格布局

<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"> {/* grid: 启用网格 grid-cols-1: 手机上 1 列 md:grid-cols-2: 平板上 2 列 lg:grid-cols-3: 电脑上 3 列 gap-6: 网格间距 24px */} </div>

🎓 学习技巧

1. 记忆规律

  • 数字规律:1 = 4px, 2 = 8px, 4 = 16px, 8 = 32px
  • 前缀规律m = margin, p = padding, text = 文字, bg = 背景
  • 方向规律t = top, b = bottom, l = left, r = right, x = 水平, y = 垂直

2. 调试技巧

// 临时添加背景色查看布局 <div className="bg-red-200">查看这个容器的大小</div> // 添加边框查看边界 <div className="border border-blue-500">查看边界</div>

3. VS Code 插件推荐

  • Tailwind CSS IntelliSense:自动补全和提示
  • 安装后,输入类名会有自动提示和预览

📚 实战练习

试着理解这段代码:

<div className="min-h-screen bg-gray-100 py-8"> <div className="max-w-6xl mx-auto px-6"> <h1 className="text-4xl font-bold text-center mb-12 text-gray-800"> 我的博客 </h1> <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"> <div className="bg-white rounded-lg shadow-md p-6 hover:shadow-lg transition-shadow"> <h2 className="text-xl font-semibold mb-2">文章标题</h2> <p className="text-gray-600">文章描述...</p> </div> </div> </div> </div>

解析

  1. min-h-screen:最小高度为屏幕高度
  2. bg-gray-100:浅灰背景
  3. py-8:上下内边距 32px
  4. max-w-6xl mx-auto:最大宽度 1152px 并居中
  5. grid 相关:响应式网格布局
  6. hover:shadow-lg:悬停时增强阴影
  7. transition-shadow:阴影变化有过渡动画

🚀 下一步

  1. 实践:打开你的项目,尝试修改类名看效果
  2. 查文档:访问 tailwindcss.com 查看完整文档
  3. 使用工具:安装 VS Code 的 Tailwind CSS IntelliSense 插件

记住:Tailwind CSS 的核心理念是组合小的工具类来构建复杂的设计,而不是写自定义 CSS!

Last updated on