CELLPADDING 属性在 HTML5 中已废弃,应改用 CSS 的 padding 属性作用于 td 或 th 元素;常见失效原因是 CSS 覆盖、UA 样式干扰或误用 border-collapse;正确做法是直接设置 td/th 的 padding,避免在 table 上设 padding,并注意行高与内边距的协同。

CELLPADDING 属性现在不该用,它在 HTML5 中已废弃;真正该写的是 padding —— 作用在 td 或 th 上。
为什么 CELLPADDING 看起来没生效?
常见现象是加了 cellpadding="10",但单元格内容贴着边框没变化。根本原因通常是:
- CSS 中对
td、th设置了padding: 0或其他值,直接覆盖了 HTML 属性 - 浏览器默认样式(比如某些 UA stylesheet 给
td设了padding: 2px)干扰了预期效果 - 用了
border-collapse: collapse后误以为CELLPADDING影响行高——其实它只管内容到边框距离,不控制行间距
怎么用 CSS 正确设置单元格内边距?
目标明确:改 td 和 th 的 padding,不是 table。
- 统一设置:
td, th { padding: 8px 12px; }(上下 8px,左右 12px) - 区分表头和数据单元格:
th { padding: 10px 16px 8px; }、td { padding: 6px 12px; } - 单个单元格微调:
内容 - 响应式适配:
@media (max-width: 768px) { td, th { padding: 4px 8px; } }
注意:table 元素上设 padding 是无效的——表格不是块级容器,不支持内边距。
生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur
遗留代码里还留着 CELLPADDING 怎么办?
别删,但要让它“失效”并交由 CSS 控制:
- 先重置所有单元格的
padding:td, th { padding: 0; } - 再按需定义真实样式,比如:
td.padded { padding: 10px; } - 如果必须读取旧值做兼容,可用 JS 动态提取:
el.parentElement.cellPadding(返回字符串,需parseInt()) - 避免用
revert做回退——目前 Chrome/Firefox 支持有限,Safari 基本不认
真正容易被忽略的点是:内边距不是万能“撑高”手段。行高不够时优先调 line-height 或 min-height,否则 padding 过大会让表格列宽失衡、文字换行异常、或破坏垂直居中逻辑。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










