align属性在HTML5中已废弃,必须用CSS的text-align控制单元格内文字水平对齐;它仅作用于行内内容,对块级子元素无效,且易受继承、优先级和显示类型影响。

浏览器为兼容旧网页,仍会解析 必须用 CSS 的 实现 Markdown↔ HTML 互转,支持导出 PDF,用于用户请求的文档格式转换。 真正复杂的地方在于:对齐效果依赖内容类型和显示模型。行内文本、图片、块级 align 属性确实能设置 内文字的水平对齐,但它在 HTML5 中已废弃,**不能用于新项目,也不该出现在任何现代代码中**。 为什么
align 还能“看起来有效”align 并悄悄转成等效的 text-align 行内样式。但这不是稳定行为:
justify 值会当作 center 处理,Chrome 和 Firefox 表现不一致char 值几乎无浏览器支持,写了等于白写.table 类)叠加时,优先级混乱,极易被覆盖
text-align 是唯一可靠方案text-align 控制水平对齐。它只作用于块级容器内的行内内容,所以目标元素必须是 或其父级( 、 ),而不是里面的
或 :
$100 + .num-col { text-align: right; }
设
text-align: center,再用更具体选择器覆盖例外项(如 table .no-center { text-align: left; })
常见失效场景和原因
text-align: center 没生效?大概率是下面这些情况:
text-align 写在了 上 —— 它只对包含行内内容的块容器起作用
display: block 的元素(比如加了样式的 text-align 居中,得自己设 margin: 0 auto(且要有明确宽度)
display: block 后,text-align 失效 —— 改回默认行内或用 flex
或某个 wrapper text-align: left 且未被重置,导致继承覆盖
里可能响应不同规则,不能指望一个 text-align 通吃所有子元素。










