⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

CSS 文本间距

CSS 文本间距详解 · 难度:入门 · +10XP

CSS 文本间距详解

CSS 提供了多个属性来控制文本和字符之间的间距,包括字间距(letter-spacing)、词间距(word-spacing)、行高(line-height)、首行缩进(text-indent)和空白处理(white-space)。合理的文本间距能显著提升可读性。

字间距 letter-spacing

letter-spacing 控制字符之间的间距。可以增大(正值)或缩小(负值)。

h1 {
  letter-spacing: 2px;    /* 增加字距,适合标题 */
}
h2.tight {
  letter-spacing: -1px;   /* 紧凑字距,适合特大字体 */
}
p {
  letter-spacing: normal;  /* 默认值(0) */
}
/* 英文大写字母通常需要增加字距 */
.uppercase-heading {
  text-transform: uppercase;
  letter-spacing: 3px;
  font-size: 14px;
}

词间距 word-spacing

word-spacing 控制单词之间的间距(主要影响英文等以空格分词的文本)。

p.normal { word-spacing: normal; }
p.wide   { word-spacing: 5px; }
p.tight  { word-spacing: -2px; }
p.custom { word-spacing: 0.2em; }  /* 相对单位 */

行高 line-height

line-height 设置文本行与行之间的高度。推荐使用无单位数字,因为它会继承计算后的值而非比例。

body {
  line-height: 1.6;   /* 推荐:无单位数字 */
  font-size: 16px;
}

p.article { line-height: 1.8; /* 长文本需要更大的行高 */ }

h1 { line-height: 1.2; /* 标题行高可以紧凑一些 */ }

首行缩进 text-indent

text-indent 设置段落第一行的缩进距离。

p {
  text-indent: 2em;   /* 缩进两个字符宽度 */
}
p.no-indent {
  text-indent: 0;     /* 不缩进 */
}
p.negative {
  text-indent: -20px; /* 负值:悬挂缩进 */
  padding-left: 20px; /* 配合左边距使用 */
}

空白处理 white-space

white-space 控制元素内空白字符(空格、换行)的处理方式。

空格合并自动换行适用场景
normal合并换行默认行为
nowrap合并不换行导航栏、省略号文本
pre保留不换行显示代码块
pre-wrap保留换行用户生成内容展示
pre-line合并换行保留换行的段落
break-spaces保留换行与 pre-wrap 类似但处理不同
/* 单行省略 */
.text-ellipsis {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 保留代码格式 */ .code-block { white-space: pre-wrap; font-family: monospace; }

文本间距属性速查表

属性作用常用值示例
letter-spacing字符间距px / em / normalletter-spacing: 2px;
word-spacing单词间距px / em / normalword-spacing: 4px;
line-height行高数值 / px / %line-height: 1.6;
text-indent首行缩进px / em / %text-indent: 2em;
white-space空白处理normal / nowrap / pre-wrapwhite-space: nowrap;

???? 练习

  1. 使用 letter-spacing 为一个英文标题创建视觉间距效果
  2. 将长文章段落的 line-height 设置为 1.8 并与 1.2 对比阅读体验
  3. 使用 white-space: nowrap + text-overflow: ellipsis 实现单行文本截断
  4. 用 text-indent: 2em 为段落添加传统中文排版的首行缩进
  5. 使用 word-spacing 调整英文段落单词之间的间距,并观察效果

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 122 篇
0 完成
🔥 0