Bootstrap 5+ 的 lh-* 类不支持按断点单独设行高,需组合断点类或自定义CSS;无内置 letter-spacing 工具类,须自行定义;文本对齐需显式写断点前缀,顺序为 sm→md→lg→xl→xxl。
Bootstrap 中如何用 utility class 控制行高(line-height)
bootstrap 5+ 提供了 lh-* 系列响应式行高工具类,但它们不支持「每个断点单独设行高」——lh-sm、lh-base、lh-lg 是固定值,且没有 lh-md 或 lh-xl 这类变体。想在不同屏幕尺寸下用不同行高,必须组合使用断点前缀 + 自定义 css 或覆盖默认类。
推荐做法是:用 lh-1、lh-sm 等基础类打底,再通过媒体查询或自定义 class 补充断点逻辑。例如:
<p class="lh-sm d-md-block">小屏紧凑,中屏及以上恢复默认行高</p>
注意:lh-sm 对应 line-height: 1.25,lh-base 是 1.5,lh-lg 是 2;这些值写死在 Bootstrap 的 CSS 里,无法通过 utility 类直接按 md/lg 分别设置。
字间距(letter-spacing)在 Bootstrap 中没有内置响应式工具类
Bootstrap 官方 utility 集合里压根没提供 ls-* 或类似 letter-spacing 的类——无论 sm、md 还是 xl 断点,都得自己写。
可行方案有二:
- 在自定义 CSS 中定义带断点的类,比如:
.ls-sm { letter-spacing: -.025em; }、@media (min-width: 768px) { .ls-md { letter-spacing: 0; } } - 直接用内联 style(仅限简单场景):
<h2 style="letter-spacing: -.05em;">标题</h2>,但会丢失响应能力
别试图用 text-* 类(如 text-center)去“凑”字间距效果——它们只管对齐,和 letter-spacing 无关。
对齐(text alignment)响应式控制要注意断点生效逻辑
Bootstrap 的文本对齐类如 text-start、text-center、text-end 默认作用于所有断点;要实现「小屏左对齐、大屏居中」,必须显式写出断点前缀:
<p class="text-start text-md-center text-lg-end">不同尺寸不同对齐方式</p>
关键点:
- 断点前缀顺序不能错:
sm→md→lg→xl→xxl,中间跳过某一级(比如只写text-md-center text-xl-end),那lg和x尺寸会继承md的值,不是“无效果” -
text-center本身等价于text-sm-center,所以如果只想要「仅中屏居中」,必须写成text-start text-md-center text-lg-start
真正需要响应式排版时,建议优先用 CSS 自定义属性 + 媒体查询
当行高、字间距、对齐三者要协同响应变化,Bootstrap 的 utility 类很快会变得冗长且难维护。比如:
<h2 class="lh-sm text-start text-md-center ls-custom">…</h2>
而 ls-custom 还得你自己定义。不如直接写:
@media (max-width: 575.98px) {
h2 { line-height: 1.2; letter-spacing: -.03em; text-align: left; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
h2 { line-height: 1.4; letter-spacing: 0; text-align: center; }
}
这样更可控,也避免 class 名堆砌带来的可读性问题。尤其要注意:Bootstrap 的 lh- 类和自定义 line-height 值共存时,后者会覆盖前者(CSS 层叠规则),但顺序写反就容易漏掉。


















