HTML5 中 caption 的 align 属性已废弃,应改用 CSS 的 caption-side 控制位置(top/bottom/left/right),text-align 控制内部文字对齐;现代浏览器均支持,但 left/right 需慎用以保障可访问性。
caption 标签的 align 属性在 HTML5 中已完全移除,硬写进去不会生效,浏览器会忽略它。
caption 的 align 属性无效你如果还在用 <caption align="bottom"> 或 <caption align="right">,这些写法在现代浏览器中只是“看起来好像起了作用”——实际是靠浏览器默认样式或隐式 fallback 行为撑着,不是标准行为。HTML5 规范明确废弃了 align 属性,W3C 文档里连该属性的定义都删干净了。
align 值,哪怕写了 "top" 或 "bottom"
Attribute align not allowed on element caption
caption-side 控制标题位置(上/下/左/右)caption-side 是 CSS 专门用于替代 align 的属性,控制 caption 相对于表格的整体方位,只接受四个值:top、bottom、left、right。它必须配合 display: table-caption(caption 默认就是这个值)才能生效。
top,所以不写也显示在表格上方caption-side: bottom;
caption-side: left; + text-align: center;(否则文字会挤到角落)left/right 在某些屏幕阅读器中可能影响无障碍体验,慎用于语义关键表格示例:
立即学习“前端免费学习笔记(深入)”;
<style> .bottom-caption { caption-side: bottom; } .right-caption { caption-side: right; text-align: center; }</style><table> <caption class="bottom-caption">月度支出汇总</caption> <tr><td>1月</td><td>¥2,450</td></tr></table>
text-align 控制标题内部文字对齐text-align 管的是 caption 元素内部文字的水平对齐,和 caption-side 完全正交。它不影响标题在表格上的位置,只影响文字在 caption 框内的排布。
text-align: left; → 文字左对齐(整个 caption 区域仍按 caption-side 决定在哪边)text-align: center; → 默认行为,无需额外写text-align: right; → 文字右对齐caption-side: left; 且 text-align: right;,文字会紧贴 caption 右边缘,而非表格左边缘——这点容易误判所有现代浏览器(Chrome 110+、Firefox 115+、Safari 16.4+、Edge 112+)都完整支持 caption-side 和 text-align 组合。但要注意两个易被忽略的点:
caption-side: left 或 right 时,表格宽度可能被压缩,尤其当 caption 内容较长又没设 white-space: nowrap 或 max-width
caption,不管它视觉上在哪儿;但若用 position: absolute 强行移位,会导致语义脱节——千万别这么干真正需要“标题在表格右侧”的场景极少,多数时候是设计稿误导;优先考虑 caption-side: top + text-align: right,更健壮也更符合语义预期。