bootstrap 5 中行高由 sass 变量 $line-height-base(默认 1.5)控制,仅影响基础排版类;修改需按正确顺序导入 sass 文件,预编译 css 下无效,须用 css 覆盖或组件重写,并注意按钮等组件需同步调整 padding 防文字贴顶,响应式场景必须使用无单位数值。

line-height 在 Bootstrap 5 中不是靠 “leading” 类控制的——它压根没有 leading- 这类工具类。Tailwind 有,Bootstrap 没有。想调文本行高,得走变量、CSS 覆盖或组件级重写三条路。
修改 $line-height-base 变量必须卡准 Sass 加载顺序
Bootstrap 5 的基础行高由 Sass 变量 $line-height-base 控制,默认值是 1.5。但它只在 @import "bootstrap/scss/variables" 之前被读取一次,且依赖 @import "bootstrap/scss/functions" 已加载。
- 错误写法:
@import "bootstrap/scss/variables"; $line-height-base: 1.4;→ 变量已定,改了白改 - 正确顺序:先
@import "bootstrap/scss/functions";,再重定义$line-height-base,最后@import "bootstrap/scss/variables"; - 若你用的是预编译 CSS(如直接引入
bootstrap.min.css),这个变量完全无效,只能 CSS 覆盖 - 注意:该变量只影响基础排版类(如
p、.lead),.btn、.alert等组件是硬编码line-height的,不响应此变量
用 CSS 覆盖时要防被组件选择器干掉
直接写 body { line-height: 1.4; } 很可能没效果,因为 Bootstrap 的 reboot.scss 给 p、h1–h6 单独设了 line-height,而且选择器更具体。
- 优先覆盖具体元素:
p { line-height: 1.4; }、h2 { line-height: 1.3; } - 提高 specificity 更稳妥:
html body p { line-height: 1.4; }或:root p { line-height: 1.4; } - 慎用
!important,但小项目快速修复可接受:p { line-height: 1.4 !important; } - 别忘了检查浏览器开发者工具的 Computed 面板,确认最终生效的
line-height值和它的来源
调整 line-height 后按钮/输入框容易“文字贴顶”
Bootstrap 的 .btn 和 .form-control 高度严重依赖 line-height + padding + font-size 三者组合。单改 line-height 会打破原有垂直节奏。
-
.btn高度 ≈font-size × line-height + padding-top + padding-bottom;调小line-height后,文字会上浮,建议同步微调padding-top补偿 -
.form-control若设置了固定height(如height: calc(1.5em + 0.75rem + 2px)),改line-height后文字会偏上;应移除height,改用min-height或让其自适应 - 所有涉及垂直对齐的组件(如
.input-group、.btn-group)都需连带检查,否则视觉错位会很突兀
响应式行高必须用无单位数值,别碰 em 或 rem
Bootstrap 默认用无单位数字(如 1.5)设 line-height,这是最安全的做法。一旦换成 em 或 rem,就会触发继承链计算,极易失控。
-
line-height: 1.5em在子元素font-size: 12px时,实际行高 = 父元素字号 × 1.5,不是子字号 × 1.5 → 结果不可预测 -
line-height: 1.5rem是固定像素值(如 24px),和字体大小脱钩,缩放时失衡 - 所有响应式场景下,坚持用无单位值:
line-height: 1.4,它始终是当前font-size的倍数 - 如果真要用媒体查询微调,也保持无单位:
@media (min-width: 768px) { p { line-height: 1.45; } }
最易被忽略的一点:行高调得太小(比如大标题配 line-height: 1)时,“g”“y”“p”这些带降部的字母会被裁掉——不是字体问题,是容器高度不够。检查 computed line-height / font-size 比值,正文建议落在 1.4–1.6,标题可略低但别低于 1.2。











