line-height 是控制表格单元格内文本行间距的正确属性,应设为无单位数值(如1.5)以确保响应式缩放,避免用 padding/margin 模拟;需注意 table-layout: fixed 下的截断风险及多级内联元素的行高继承规则。

line-height 直接作用于单元格内的文本
表格单元格(<td> 或 <code><th>)本身不提供“行间距”属性,真正控制段落内多行文字垂直间距的是 <code>line-height。它作用于单元格内所有行内内容(包括换行的文本),不是“段间距”,也不是“上下 padding”。
常见错误是试图用 margin 或 padding 模拟行距——这只会撑开整个单元格,无法精准调节文字行与行之间的空隙。
-
line-height值可以是无单位数字(如1.6,相对于字体大小的倍数)、px、em或rem - 推荐优先使用无单位数值,例如
line-height: 1.5,这样能随字体大小缩放,响应式更可靠 - 若单元格内含
<br>换行或自然折行(如设置了width和word-wrap: break-word),line-height同样生效
避免被 table-layout: fixed 破坏行高表现
当表格启用 table-layout: fixed(常用于性能优化或列宽强制对齐)时,line-height 仍有效,但若单元格内容高度超出预设行高,可能被截断或挤压——尤其配合 overflow: hidden 或未设置足够 min-height 时。
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
- 检查父级
<table> 是否有 <code>table-layout: fixed;如有,确保td的height或min-height不小于font-size × line-height的结果 - 例如:字体
14px+line-height: 1.8→ 理论单行高至少25.2px,两行则需 ≥50.4px - 不要依赖
vertical-align来“修正”行距——它只控制单元格内内容整体对齐位置,不改变行高计算 - 最稳妥做法:统一在
td上设置line-height,并避免子元素单独设line-height(除非刻意需要局部调整) - 若必须差异化,给子元素设
line-height: normal可使其回归默认行为,但不推荐——易导致行高不一致 - 注意:
line-height: 0会让文字视觉重叠,line-height: 1则字面紧贴,通常1.2–1.6是可读性较优区间 - 定义通用类如
.text-tight { line-height: 1.2; }、.text-loose { line-height: 1.7; } - 结合语义命名更好:
.cell-body-sm对应小字号+紧凑行高,.cell-note对应说明文字+宽松行高 - 若用框架(如 Bootstrap),注意其
table类可能已预设line-height,需用更高优先级覆盖(如加!important或更具体选择器)
多行文本中混合样式时 line-height 的继承行为
如果单元格内嵌套了 <span></span>、<strong></strong> 或其他内联元素,且它们设置了不同 font-size,line-height 的实际效果取决于“行内盒模型”的行高计算规则:浏览器会取该行内所有元素的 line-height 和 font-size 组合后最大的“行高贡献值”。
用 CSS class 替代内联 style 更利于维护
直接写 style="line-height: 1.4" 虽快,但难以复用和批量调整。尤其当多个表格、多种状态(hover/active)需不同行高时,内联样式会迅速失控。
line-height 的解释细节——不同浏览器、不同字体(尤其是中文字体)的 ascent/descent 差异会导致视觉上“感觉不够松”或“空太多”。真要精确控制,得搭配 font-size 和 vertical-align 微调,而不是只盯着一个属性。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










