唯一可靠方式是为td和th设置CSS padding,cellpadding已废弃且仅控制内容整体到边框距离;table上设padding无效,需显式写td, th { padding: ...; },并注意vertical-align、border-collapse及line-height协同影响。

padding 是唯一可靠的方式,cellpadding 不控制文字边距,只控制内容整体到单元格边框的距离。
td 和 th 的 padding 才是真正起作用的属性
所有对“单元格内部文字边距”的调整,本质都是在控制 td 或 th 元素的 padding。浏览器根本不关心文字本身——它只把文字当作内容块,然后按 padding 值统一推离边框。
-
table元素上写padding无效,会被忽略 -
cellpadding是 HTML4 遗留属性,W3C 已标记为 obsolete,且一旦有任意 CSSpadding声明,它就彻底失效 - 必须显式写
td, th { padding: ...; },哪怕只改一个方向,比如padding-top: 6px - Outlook 邮件客户端不解析
块里的td样式,必须用内联:为什么 padding 设置后文字还是贴边?
常见错觉是“padding 没生效”,实际多因以下组合问题:
Convert Markdown To HTML And PDF - Markdown和HTML、PDF互转下载实现 Markdown↔ HTML 互转,支持导出 PDF,用于用户请求的文档格式转换。
-
vertical-align: baseline(默认值)导致文字底部对齐,上部留白被误认为“没顶边距” - 父容器
font-size: 0(用于清除 inline 间隙),但你用了em单位写padding,结果算出来是 0 - 没设
table { border-collapse: collapse; },而border-spacing和padding叠加,视觉混乱 -
line-height过小,文字行高压着padding-top,看起来像顶死——其实padding在,只是被遮住了
响应式与单位选择的实操陷阱
padding支持多种单位,但行为差异大,容易踩坑:- 百分比值始终相对于包含块宽度,不是单元格自身宽高,也不随字体缩放变化
-
rem会随html的font-size变动,用户缩放页面时可能意外放大内边距 -
em相对于当前元素font-size,若td内嵌了不同字号文字,padding会跟着浮动 - 日常开发中,
px或固定rem(如html { font-size: 16px; })最可控
真正容易被忽略的一点
表格行高 =
padding-top+line-height+padding-bottom(单行文本时)。很多人调完padding就停手,却没意识到line-height也在参与撑高——尤其当表头th和数据td的line-height不一致时,整行会歪斜或截断。动手前,打开 DevTools 看一眼 computed height 和各层 padding、line-height 的叠加值。 -
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










