bootstrap 5 的 .lh-sm 对应 line-height: 1.25rem,.lh-lg 对应 line-height: 2rem;二者均为固定 rem 值,依赖根字号但受当前 font-size 影响,非无单位比例,且易因内联样式、继承或 display 类型不匹配而失效。
bootstrap 5 的 lh-sm、lh-lg 等行高类不是“可选装饰”,而是直接覆盖元素的 line-height css 属性;用错位置或叠加冲突时,效果会完全失效,且不容易被肉眼察觉。
lh-sm 和 lh-lg 的实际数值是多少
它们对应的是固定 rem 值,不是比例系数,也不随父级字体大小缩放:
-
lh-1→line-height: 1(无单位纯数字) -
lh-sm→line-height: 1.25rem -
lh-base→line-height: 1.5rem(即默认值) -
lh-lg→line-height: 2rem
注意:lh-1 是纯数值,其余都是带 rem 单位的长度值。这意味着如果父容器 font-size 被改过(比如用了 fs-5),lh-sm 的实际像素高度也会变 —— 它依赖根字号(1rem = 16px 默认),但受当前上下文 font-size 影响。
为什么加了 lh-lg 没反应
常见失效原因不是类名写错,而是 CSS 优先级或继承干扰:
ApiPost是一个支持团队协作,支持模拟POST、GET、PUT等常见请求,并可直接生成文档的API调试、管理工具,ApiPost是后台接口开发者或前端、接口测试人员的工作必备工具。快速生成、一键导出API文档。感兴趣的朋友快来下载吧。软件说明ApiPost官方版是一款十分出色的接口调试与文档生成工具,ApiPost官方版界面美观大方,功能强劲实用,支持团队协作,支持模拟POST、GET、PUT等常见请求,是后台接口开发者或前端、接口测试人员的工作必备工具。软件特色更方便支持接口调试的同时快速生成、一键
- 元素本身有内联
style="line-height: 1.2",会盖过工具类 - 父级设置了
line-height且未设inherit,子元素又没显式声明行高类,就可能“看起来没生效” - 用在
<span></span>这类display: inline元素上 ——line-height对 inline 元素只影响行框高度,不撑开块级容器,视觉上容易误判为无效 - 和
.lead类一起用:.lead自带line-height: 1.6,会与lh-lg冲突,后者未必胜出
lh-sm / lh-lg 在哪些场景下要慎用
它们适合快速微调,但不适合需要精确垂直节奏或响应式缩放的排版系统:
- 用在标题(
h1–h6)上时,lh-lg可能让行距过大,破坏标题的紧凑感;建议优先用.display-* + lh-base组合 - 用在表格单元格(
<td>)里,若单元格有 <code>vertical-align: middle,过大的line-height会导致文字“浮高”,而非居中 - 配合
text-nowrap使用时,lh-sm可能让单行文本显得挤压,而lh-lg又会让容器莫名增高,实际可用空间反而变少 - 在自定义 font stack(如引入 Inter 或 SF Pro)后,
1.25rem这类固定值可能不如无单位数字(如lh-1)适配字体自身的 x-height 特性
真正要注意的不是“能不能用”,而是它修改的是一个会被多层继承、计算、覆盖的 CSS 属性;哪怕只是加个 lh-sm,也得确认它作用在哪个元素上、有没有更近的样式源把它顶掉、以及它是否和当前 display 类型兼容。










