Tailwind CSS 类名使用手册

Y
小 明
|
|
85 次阅读
|
Tailwind CSS 类名使用手册
Tailwind CSS 类名使用手册

Tailwind CSS 类名使用手册

📚 概述

本文档详细记录了项目中使用的Tailwind CSS类名及其含义,帮助开发者理解和使用这些样式类。

🎨 布局类 (Layout)

容器和宽度

CSS
max-w-7xl     /* 最大宽度: 80rem (1280px) */
mx-auto       /* 水平居中: margin-left/right auto */
w-full        /* 宽度100% */
w-8           /* 宽度: 2rem (32px) */
w-48          /* 宽度: 12rem (192px) */
min-w-0       /* 最小宽度: 0 */
min-w-\[140px\] /* 最小宽度: 140px (自定义值) */

高度

CSS
h-16         /* 高度: 4rem (64px) */
h-8          /* 高度: 2rem (32px) */
min-h-screen /* 最小高度: 100vh */
min-h-\[200px\] /* 最小高度: 200px */

弹性布局 (Flexbox)

CSS
flex           /* display: flex */
flex-col       /* flex-direction: column */
flex-row       /* flex-direction: row */
flex-grow      /* flex-grow: 1 */
flex-shrink-0  /* flex-shrink: 0 */
items-center   /* align-items: center */
justify-between /* justify-content: space-between */
justify-center /* justify-content: center */

Grid布局

CSS
grid           /* display: grid */
gap-8          /* grid-gap: 2rem */
gap-12         /* grid-gap: 3rem */

🎯 间距类 (Spacing)

Padding (内边距)

CSS
p-4           /* padding: 1rem */
p-6           /* padding: 1.5rem */
p-8           /* padding: 2rem */
px-4          /* padding-left/right: 1rem */
py-1          /* padding-top/bottom: 0.25rem */
py-2          /* padding-top/bottom: 0.5rem */
py-4          /* padding-top/bottom: 1rem */
py-8          /* padding-top/bottom: 2rem */
py-10         /* padding-top/bottom: 2.5rem */
py-12         /* padding-top/bottom: 3rem */
pl-3          /* padding-left: 0.75rem */
pr-3          /* padding-right: 0.75rem */

Margin (外边距)

CSS
m-1           /* margin: 0.25rem */
ml-2          /* margin-left: 0.5rem */
ml-4          /* margin-left: 1rem */
mr-1          /* margin-right: 0.25rem */
mr-2          /* margin-right: 0.5rem */
mt-2          /* margin-top: 0.5rem */
mt-6          /* margin-top: 1.5rem */
mt-8          /* margin-top: 2rem */
mt-10         /* margin-top: 2.5rem */
mb-2          /* margin-bottom: 0.5rem */
mb-4          /* margin-bottom: 1rem */
mb-6          /* margin-bottom: 1.5rem */
mb-8          /* margin-bottom: 2rem */
mb-10         /* margin-bottom: 2.5rem */
mb-12         /* margin-bottom: 3rem */
my-1          /* margin-top/bottom: 0.25rem */

Space (子元素间距)

CSS
space-x-2     /* 子元素水平间距: 0.5rem */
space-x-4     /* 子元素水平间距: 1rem */
space-y-3     /* 子元素垂直间距: 0.75rem */

🎨 背景和颜色

背景色 (Background Color)

CSS
bg-white       /* 白色背景 */
bg-gray-50     /* 浅灰色背景 */
bg-gray-100    /* 灰色背景 */
bg-gray-200    /* 中灰色背景 */
bg-indigo-50   /* 浅靛蓝色背景 */
bg-indigo-100  /* 靛蓝色背景 */
bg-indigo-600  /* 深靛蓝色背景 */
bg-red-50      /* 浅红色背景 */
bg-yellow-50   /* 浅黄色背景 */
bg-blue-50     /* 浅蓝色背景 */

文本颜色 (Text Color)

CSS
text-gray-400   /* 浅灰色文字 */
text-gray-500   /* 灰色文字 */
text-gray-600   /* 中灰色文字 */
text-gray-700   /* 深灰色文字 */
text-gray-900   /* 深黑色文字 */
text-indigo-500 /* 靛蓝色文字 */
text-indigo-600 /* 深靛蓝色文字 */
text-indigo-700 /* 更深靛蓝色文字 */
text-red-600    /* 红色文字 */
text-white      /* 白色文字 */

边框颜色 (Border Color)

CSS
border-gray-100  /* 浅灰色边框 */
border-gray-200  /* 灰色边框 */
border-gray-300  /* 中灰色边框 */
border-indigo-100 /* 浅靛蓝色边框 */
border-indigo-200 /* 靛蓝色边框 */
border-transparent /* 透明边框 */

📝 排版类 (Typography)

字体大小

CSS
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) */

字体粗细

CSS
font-bold      /* 字体粗细: 700 */
font-extrabold /* 字体粗细: 800 */
font-medium    /* 字体粗细: 500 */

文本对齐

CSS
text-center    /* 文本居中对齐 */
text-left      /* 文本左对齐 */
text-right     /* 文本右对齐 */

其他排版

CSS
leading-tight  /* 行高: 1.25 */
leading-relaxed /* 行高: 1.625 */
tracking-wider /* 字母间距: 0.05em */
uppercase      /* 大写字母 */
italic         /* 斜体 */

🎯 响应式设计

断点前缀

CSS
sm:          /* 小屏幕 (≥640px) */
md:          /* 中等屏幕 (≥768px) */
lg:          /* 大屏幕 (≥1024px) */
xl:          /* 超大屏幕 (≥1280px) */
2xl:         /* 2倍超大屏幕 (≥1536px) */

响应式示例

CSS
hidden sm:flex      /* 默认隐藏,小屏幕及以上显示为flex */
sm:ml-6            /* 小屏幕及以上左边距: 1.5rem */
sm:px-6            /* 小屏幕及以上水平内边距: 1.5rem */
md:space-x-6       /* 中等屏幕及以上水平间距: 1.5rem */
lg:px-8            /* 大屏幕及以上水平内边距: 2rem */

🎨 边框和圆角

边框

CSS
border         /* 添加边框 */
border-2       /* 边框宽度: 2px */
border-b       /* 底部边框 */
border-b-2     /* 底部边框宽度: 2px */
border-t       /* 顶部边框 */

圆角

CSS
rounded-md     /* 中等圆角: 0.375rem */
rounded-lg     /* 大圆角: 0.5rem */
rounded-full   /* 全圆角 (圆形) */
rounded-xl     /* 超大圆角: 0.75rem */

🌟 阴影效果

CSS
shadow         /* 基础阴影 */
shadow-sm      /* 小阴影 */
shadow-lg      /* 大阴影 */

🎯 定位和显示

定位

CSS
relative       /* 相对定位 */
absolute       /* 绝对定位 */
sticky         /* 粘性定位 */
top-0          /* 距离顶部: 0 */
right-0        /* 距离右侧: 0 */
bottom-8       /* 距离底部: 2rem */
left-4         /* 距离左侧: 1rem */
z-30           /* z-index: 30 */
z-50           /* z-index: 50 */

显示属性

CSS
block          /* display: block */
inline-flex    /* display: inline-flex */
hidden         /* display: none */

🎨 过渡和动画

过渡效果

CSS
transition-colors     /* 颜色过渡 */
transition-all        /* 所有属性过渡 */
transition-transform  /* 变换过渡 */
duration-200         /* 过渡时间: 200ms */
duration-300         /* 过渡时间: 300ms */
ease-in-out          /* 缓动函数: ease-in-out */

变换效果

CSS
transform             /* 启用变换 */
rotate-180           /* 旋转180度 */
scale-95             /* 缩放95% */
scale-100            /* 缩放100% */

🎯 特殊效果

悬停效果

CSS
hover:text-indigo-600     /* 悬停时文字变为靛蓝色 */
hover:bg-indigo-50        /* 悬停时背景变为浅靛蓝色 */
hover:bg-gray-50          /* 悬停时背景变为浅灰色 */
hover:border-gray-300     /* 悬停时边框变为灰色 */
hover:text-gray-700       /* 悬停时文字变为深灰色 */

焦点效果

CSS
focus:outline-none        /* 焦点时无轮廓 */
focus:ring-2              /* 焦点时添加环形阴影 */
focus:ring-indigo-500     /* 焦点时环形颜色为靛蓝色 */
focus:ring-offset-2       /* 焦点时环形偏移 */
focus:border-indigo-500   /* 焦点时边框颜色 */

其他效果

CSS
cursor-pointer           /* 鼠标指针样式 */
overflow-hidden          /* 溢出隐藏 */
truncate                 /* 文本截断 */
line-clamp-2             /* 限制显示2行 */
object-cover             /* 图片填充方式 */

🎨 SVG图标类

CSS
w-4 h-4        /* 宽高: 1rem (16px) */
w-8 h-8        /* 宽高: 2rem (32px) */
mr-1           /* 右边距: 0.25rem */
mr-2           /* 右边距: 0.5rem */
mr-1.5         /* 右边距: 0.375rem */
fill-current   /* 填充颜色继承父元素 */
stroke-current /* 描边颜色继承父元素 */

🎯 实际应用示例

按钮样式

HTML
<a class="inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md text-white bg-indigo-600 hover:bg-indigo-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500">
    注册
</a>

卡片样式

HTML
<article class="group bg-white rounded-xl shadow-sm overflow-hidden hover:shadow-lg transition-all duration-300 border border-gray-100">
    <!-- 内容 -->
</article>

导航栏样式

HTML
<nav class="bg-white shadow-sm border-b border-gray-200 sticky top-0 z-30">
    <!-- 导航内容 -->
</nav>

表单元素

HTML
<input class="block w-full px-3 py-2 border border-gray-300 rounded-md shadow-sm placeholder-gray-400 focus:outline-none focus:ring-indigo-500 focus:border-indigo-500 sm:text-sm">

📋 颜色调色板参考

灰色系

  • gray-50: #f9fafb (极浅灰)
  • gray-100: #f3f4f6 (很浅灰)
  • gray-200: #e5e7eb (浅灰)
  • gray-300: #d1d5db (中灰)
  • gray-400: #9ca3af (深灰)
  • gray-500: #6b7280 (更深灰)
  • gray-600: #4b5563 (接近黑)
  • gray-700: #374151 (深黑)
  • gray-800: #1f2937 (很深黑)
  • gray-900: #111827 (最深黑)

靛蓝色系

  • indigo-50: #eff6ff (极浅靛蓝)
  • indigo-100: #dbeafe (很浅靛蓝)
  • indigo-500: #6366f1 (中等靛蓝)
  • indigo-600: #4f46e5 (深靛蓝)
  • indigo-700: #4338ca (很深靛蓝)

其他颜色

  • red-50: #fef2f2 (浅红)
  • red-600: #dc2626 (深红)
  • yellow-50: #fffbeb (浅黄)
  • blue-50: #eff6ff (浅蓝)
  • green-50: #f0fdf4 (浅绿)

🎯 最佳实践

  1. 组合使用: 合理组合多个类名达到想要的效果
  2. 响应式设计: 善用断点前缀实现响应式布局
  3. 悬停效果: 添加hover类提升用户体验
  4. 语义化: 选择有意义的类名而非样式名
  5. 一致性: 保持项目中样式的一致性

📚 学习资源

评论 (0)

登录后才能发表评论

登录发表评论