HTML5中、、、、(无语义时)、、均已obsolete,W3C明确定义为废弃标签,新项目严禁使用,必须用CSS或语义化标签替代。

直接说结论:现在写 HTML,、、、、(无语义时)、、 这些标签一律不要用——不是“还能凑合”,而是 W3C 已明确定义为 obsolete,浏览器保留它们纯属向后兼容,新项目中出现就是技术债。
哪些标签在 HTML5 中已 obsolete,且没有合理替代场景
这些标签既无语义,也不再承担任何现代工程职责,删掉比留着更安全:
-
:只在 IE 里部分支持,连主流 CSS 属性font-family/font-size都不认它,彻底无存在必要 -
和:虽然渲染效果类似删除线,但在 HTML5 中语义已变为“不再准确/不推荐的内容”,和(表示已删除的文本)有本质区别;若只是视觉划掉,用text-decoration: line-through更可控 -
:仅当用于标注拼写错误、专有名词或中文注音(如)等有明确语义时才可考虑;日常下划线必须走 CSS:漢 text-decoration: underline
为什么 和 看似简单,却最该优先清理
这两个标签在旧项目里高频出现,但它们破坏的是结构与样式的根本契约:
-
不是“居中容器”,它强制所有子元素水平居中,无法单独控制某一块、也无法响应式微调;CSS 的text-align: center(内联内容)或margin: 0 auto(块级定宽)才是可预测、可组合的方案 -
把样式逻辑硬编码进结构层,导致改颜色要扫全站 HTML;而统一用类名(如class="error-text")配 CSS 规则,一次修改全局生效 - 二者都不可继承、不可 media query 响应、不支持 CSS 变量,遇到暗色模式或动态字号切换时直接失效
容易被忽略的“伪安全”陷阱:HTML 属性层面的废弃
有些属性看起来还在生效,但其实已被标准弃用,且行为不稳定:
-
align(用在、、上):比如,现代浏览器已不保证其排版行为一致,应改用float(慎用)或 Flex/Gridbgcolor、border(表格/图片等):这些属性绕过 CSS cascade,无法被!important覆盖,调试时经常“改了 CSS 却没变”valign:表格单元格垂直对齐,已被vertical-alignCSS 属性完全取代;混用会触发浏览器怪异模式(quirks mode)风险迁移时最常卡住的点:语义补丁不能掩盖结构缺陷
有人试图用 ARIA 或 class 名“模拟”旧标签功能,这反而让问题更隐蔽:
- 给 加
role="presentation"并不能让它变成语义正确的居中容器——屏幕阅读器仍会忽略它,而视觉用户看到的只是“一个没意义的 div”- 用
替代,看似能跑通,但丢失了层级关系(比如无法通过body[data-theme="dark"] .caption统一接管)- 真正要做的不是“找一个能用的替代写法”,而是重构语义结构:把“需要强调的文字”改成
或,把“需要居中的标题”放进并用 CSS 控制对齐最麻烦的不是改代码,而是改习惯——当你下意识想敲
时,得停一下,问自己:这个居中是内容逻辑所需,还是纯视觉需求?前者该用语义容器 + CSS,后者直接上display: flex。一旦形成条件反射,废弃标签就真的不会再出现了。 - 用
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











