Typography 排版
文本对齐
Tailwind CSS提供了简单易用的类来控制文本对齐方式,帮助你创建更具可读性和视觉吸引力的排版。
基础文本对齐类
text-left文本左对齐text-center文本居中对齐text-right文本右对齐text-justify文本两端对齐,调整字间距使每行长度相等text-start文本对齐开始位置(与文字方向相关)text-end文本对齐结束位置(与文字方向相关)响应式文本对齐
Tailwind允许你使用响应式前缀(sm:, md:, lg:, xl:)为不同屏幕尺寸设置不同的文本对齐方式。
sm:text-left md:text-center lg:text-right响应式文本对齐示例:在小屏幕上左对齐,中等屏幕上居中,大屏幕上右对齐
text-center lg:text-left响应式文本对齐示例:默认居中,大屏幕上左对齐
实际应用示例
以下是一些常见的文本对齐应用场景:
标题与正文
标题居中,正文左对齐的常见布局
产品特性
这是一段详细描述产品特性的文本。通常长段落使用左对齐以提高可读性,尤其是在西方语言中。左对齐的文本边缘整齐,便于阅读,符合用户的阅读习惯。
引用与强调
使用居中对齐突出重要信息
在文档中,我们可以使用不同的对齐方式来强调内容:
"设计不仅仅是外观和感觉,设计是如何工作的。"— 史蒂夫·乔布斯
表单设计
表单中标签与输入框的对齐
响应式文本对齐
根据屏幕尺寸改变文本对齐方式
这段文本在不同屏幕尺寸下有不同的对齐方式:
默认:居中 | SM:左对齐 | MD:右对齐 | LG:居中
文本对齐最佳实践
- 长段落文本通常使用左对齐提高可读性
- 标题可以使用居中对齐来强调重要性
- 表单中的按钮通常右对齐或居中对齐
- 考虑使用响应式对齐类根据屏幕大小改变对齐方式
- 阿拉伯语、希伯来语等RTL语言中,使用text-start和text-end更适合国际化
垂直对齐
基础垂直对齐类
align-baseline元素的基线与父元素的基线对齐align-top元素的顶部与行框的顶部对齐align-middle元素的中部与父元素基线加上父元素x-height的一半对齐align-bottom元素的底部与行框的底部对齐align-text-top元素的顶部与父元素字体的顶部对齐align-text-bottom元素的底部与父元素字体的底部对齐align-sub元素的基线与父元素的下标基线对齐align-super元素的基线与父元素的上标基线对齐实际应用场景
表单输入框与标签对齐
使用垂直对齐来优化表单布局
图标与文本对齐
使用垂直对齐使图标与文本完美匹配
科学公式与数学表达式
使用上标和下标进行数学表达
水的化学式是 H2O
计算面积:A = πr2
相对论方程式:E = mc2
多行文本与图像对齐
图像与多行文本的不同对齐方式
self-start:图像与文本顶部对齐。这种对齐方式在展示文章摘要和缩略图时很常用,使布局看起来整洁有序。
self-center:图像与文本中部对齐。这种对齐方式在展示短文本内容时很适合,能使整体布局更加平衡。
self-end:图像与文本底部对齐。这种对齐方式在某些特殊设计中使用,可以创造有趣的视觉效果。
垂直对齐最佳实践
- 在表单设计中,使用 align-middle 使标签和输入框对齐
- 图标与文本搭配时,使用 align-middle 或 align-text-bottom 获得最佳效果
- 使用 align-super 和 align-sub 创建上标和下标效果
- 在 Flexbox 布局中,可以使用 self-start、self-center 和 self-end 代替传统的垂直对齐
- 记住垂直对齐类主要用于行内元素 (inline) 或表格单元格 (table-cell)
字体家族 (Font Family)
Tailwind CSS提供了三种基本的字体家族类,用于控制文本的字体风格。这些类会应用字体堆栈,确保在不同设备上具有一致的显示效果。
Sans Serif (无衬线字体)
font-sans无衬线字体具有简洁现代的特性,非常适合用于UI设计和Web页面。
描述: 现代、简洁的字体,适合UI界面和数字产品
示例字体: Helvetica, Arial, sans-serif
Serif (衬线字体)
font-serif衬线字体在笔画末端有装饰,具有传统优雅的特性,适合长文本和正式内容。
描述: 传统、优雅的字体,适合长文本阅读
示例字体: Georgia, Times New Roman, serif
Monospace (等宽字体)
font-mono等宽字体中的每个字符占据相同的宽度,特别适合展示代码块和技术内容。
描述: 每个字符宽度相同,适合代码显示
示例字体: Consolas, Courier New, monospace
自定义字体配置
在Tailwind中,你可以通过配置文件自定义字体堆栈,例如:
// tailwind.config.js
module.exports = {
theme: {
extend: {
fontFamily: {
'display': ['Poppins', 'system-ui', 'sans-serif'],
'body': ['Inter', 'system-ui', 'sans-serif'],
}
}
}
}这将添加额外的字体类:font-display 和 font-body
字体大小 (Font Size)
Tailwind CSS提供了一系列字体大小类,从小到大提供了丰富的选择,可以满足各种UI设计需求。
| 类名 | 预览 | 实际大小 | 常见用途 |
|---|---|---|---|
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) | 最大展示文本 |
实际应用示例
博客文章结构
这是文章大标题 (text-4xl)
这是次级标题 (text-2xl)
这是小标题 (text-xl)
这是正文内容,使用基础字体大小 (text-base)。正文通常使用这个尺寸,保证良好的可读性。
这是备注信息,使用小一号字体 (text-sm)。适合次要信息、注释等。
这是额外信息或版权声明 (text-xs)。最小的文本尺寸,通常用于法律声明、版权信息等。
响应式字体大小
Tailwind的响应式前缀可以在不同屏幕尺寸下控制文本大小:
响应式标题
自定义字体大小
你可以在tailwind.config.js中自定义字体大小:
// tailwind.config.js
module.exports = {
theme: {
extend: {
fontSize: {
'tiny': '0.625rem', // 10px
'mega': '10rem', // 160px
}
}
}
}这将添加 text-tiny 和 text-mega 类供使用
字体粗细 (Font Weight)
Tailwind CSS提供了从最细(100)到最粗(900)的9种字体粗细类,可以精确控制文字的显示效果。
font-thin值: 100最细的字体粗细
font-extralight值: 200比细体略粗一点
font-light值: 300轻量级字体粗细
font-normal值: 400标准/正常字体粗细
font-medium值: 500中等字体粗细
font-semibold值: 600半粗体
font-bold值: 700粗体
font-extrabold值: 800特粗体
font-black值: 900最粗的字体粗细
实际应用示例
文档层级结构
主标题使用font-black (900)
次标题使用font-extrabold (800)
小标题使用font-bold (700)
第四级标题使用font-semibold (600)
第五级标题使用font-medium (500)
正文内容使用font-normal (400),这是默认的字体粗细。
次要内容可以使用font-light (300)来降低视觉重要性。
强调与对比
在同一段文本中,你可以使用不同的字体粗细来强调重点内容,或者创建正常与超重文本之间的对比。
价格: ¥199.00
配送: 免费
状态: 有货
响应式字体粗细
你可以结合Tailwind的响应式前缀来控制不同屏幕尺寸下的字体粗细:
<!-- 移动设备使用普通粗细,平板及以上使用加粗 --> <h2 class="font-normal md:font-bold">响应式标题</h2>
这种方式可以确保在小屏幕上文字不会显得过重,而在大屏幕上有足够的视觉冲击力。
行高 (Line Height)
Tailwind CSS提供了多种行高控制类,从紧凑到宽松,可以根据不同的设计需求和内容类型调整文本行间距。
leading-none值: 1leading-tight值: 1.25leading-snug值: 1.375leading-normal值: 1.5leading-relaxed值: 1.625leading-loose值: 2实际应用示例
博客文章排版
这是一个使用leading-tight的博客标题
这是一个使用leading-snug的副标题
这是使用默认leading-normal的正文段落。这种设置适用于大多数文本内容,提供了良好的可读性和舒适的阅读体验。 正文通常需要适当的行间距来确保读者可以轻松地从一行移动到下一行,不会感到文字拥挤或过于分散。
这是一段使用leading-relaxed的引用文本。引用通常使用较宽松的行高,使其在视觉上与正文区分开来,并增强其可读性。 当引用较长时,较大的行间距有助于减轻阅读疲劳。
UI元素中的行高应用
卡片标题 (leading-tight)
卡片内容使用标准行高 (leading-normal),确保在有限空间内的最佳可读性。
表单说明文本使用leading-snug,在提供充分信息的同时保持紧凑。
响应式行高设置
你可以结合Tailwind的响应式前缀来控制不同屏幕尺寸下的行高:
<!-- 移动设备使用较宽松行高,大屏幕使用较紧凑行高 --> <p class="leading-relaxed md:leading-normal"> 响应式文本内容 </p>
在小屏幕上使用较大的行高可以提高可读性,而在大屏幕上可以使用较紧凑的行高以适应更多内容。
自定义行高
除了预设的行高类外,你还可以在tailwind.config.js中自定义行高:
// tailwind.config.js
module.exports = {
theme: {
extend: {
lineHeight: {
'extra-loose': '2.5',
'12': '3rem',
}
}
}
}这样你就可以使用leading-extra-loose和leading-12这样的自定义类。
字母间距 (Letter Spacing)
Tailwind CSS提供了多种字母间距控制类,从紧凑到宽松,可以根据不同的设计需求和内容类型调整文本字符间的距离。
tracking-tighter值: -0.05emtracking-tight值: -0.025emtracking-normal值: 0tracking-wide值: 0.025emtracking-wider值: 0.05emtracking-widest值: 0.1em实际应用示例
品牌与标题设计
UI元素中的字母间距应用
正文内容中的应用
标准正文 (tracking-normal)
标准正文通常使用默认的字母间距(tracking-normal)。这为读者提供了最佳的阅读体验,特别是对于较长的文本段落。 默认间距不会让文字显得太紧凑也不会太松散,适合日常阅读。
增强可读性 (tracking-wide)
对于较小的文本或需要增强可读性的内容,可以使用较宽的字母间距(tracking-wide)。 这种设置使字母之间有更多的空间,特别适合小字体大小的文本,可以减轻眼睛疲劳并提高可读性。
强调重点 (tracking-wider)
某些情况下,你可能想要强调特定内容, 这时可以为这部分文本应用更宽的字母间距(tracking-wider),使其在视觉上更加突出。
响应式字母间距设置
你可以结合Tailwind的响应式前缀来控制不同屏幕尺寸下的字母间距:
<!-- 移动设备使用较宽字母间距,大屏幕使用标准间距 --> <h1 class="tracking-wider md:tracking-normal"> 响应式标题 </h1>
在小屏幕上使用较宽的字母间距可以提高可读性,而在大屏幕上可以使用较紧凑的间距以适应更优雅的排版。
自定义字母间距
除了预设的字母间距类外,你还可以在tailwind.config.js中自定义字母间距:
// tailwind.config.js
module.exports = {
theme: {
extend: {
letterSpacing: {
'super-wide': '0.2em',
'ultra-wide': '0.3em',
}
}
}
}这样你就可以使用tracking-super-wide和tracking-ultra-wide这样的自定义类。
了解更多排版技巧
Tailwind CSS提供了丰富的排版工具,可以精确控制文本样式和布局效果。
字体系列
Sans-serif 字体
Serif 字体
等宽字体
字体大小
超小文本 (xs)
小文本 (sm)
基本文本 (base)
大文本 (lg)
超大文本 (xl)
文本装饰
下划线文本
删除线文本
无下划线文本
上划线文本