line-height 是唯一控制行间距的 CSS 属性,因其直接设定行框高度,而行间空隙=行框高−字体高;误用 HTML 属性、内联元素或 padding/height 均无效。

行间距只能通过 line-height 控制,不是“文本间距”,也不是 HTML 标签属性,直接写 会完全无效。
为什么 line-height 是唯一靠谱的入口
浏览器渲染文本时,并不提供独立的“行间距”开关。所谓行间空隙,本质是「行框(line box)高度减去字体本身高度」的结果,而 常见误操作包括: 推荐优先使用无单位数字(如 多数页面行距问题出在三处:全局默认、段落容器、单行居中场景。对应改法如下: 注意: 用户常把“段与段之间的空隙”也叫“行间距”,但这是两个完全不同的机制: 真正要调“段落呼吸感”,应该组合使用:line-height 就是唯一能设定这个行框高度的 CSS 属性。它作用于块级容器(如 、
— 把 line-height 当成 HTML 属性写在标签里(如 )
— 在 上设 line-height 却没反应(纯内联元素不生成行框)
— 用 padding 或 height “凑”行距,结果破坏盒模型或导致换行错位
line-height 的值怎么选才不翻车1.6),它是相对于当前元素 font-size 的倍数,继承时也会按子元素自己的字号重新计算,最健壮。
px(如 line-height: 24px):父设了固定值,子元素字体变大后行距卡死不动% 和 em(如 150% 或 1.5em):在嵌套继承中会被“固化”,子元素无法按自身字号缩放line-height: 1:易截断汉字升部/降部;中英混排建议 ≥ 1.35,纯中文 ≥ 1.2
实际改哪几个地方最见效
body 或 article 设 line-height: 1.6,靠继承覆盖大部分文本.text-tight { line-height: 1.3; },再加到
inline-block)设 line-height 等于其高度,例如 height: 40px; line-height: 40px;
有浏览器默认 –
line-height,如果统一设了 body,记得额外重置标题样式,否则标题行距可能过松。别和段落间距(
margin)搞混
— line-height 控制的是一个 内部多行文字的疏密
— 段落之间的距离由 margin-bottom(或 margin-top)决定,比如 p { margin-bottom: 1.5rem; }
— line-height: 1.6(让每段内部易读)
— margin-bottom: 1.5rem(让段与段之间有留白)
两者正交,互不干扰,也别试图只靠一个解决全部问题。











