html5 彻底废弃了 、、(原下划线含义)、 和 ,因其纯样式或语义模糊;其中 被重定义为表示非正常文本,装饰性下划线须用 css。

HTML4、HTML5 之间哪些文本标签被彻底废弃了
HTML5 明确移除了 <font></font>、<center></center>、<u></u>(带下划线含义)、<s></s> 和 <strike></strike> 这类纯样式或语义模糊的标签。它们在 HTML4 中允许,但 W3C 在 HTML5 中不再支持渲染行为,现代浏览器虽大多仍能解析(出于兼容),但会触发控制台警告,且无法通过 W3C 验证。
特别注意:<u></u> 在 HTML5 中被“重定义”为表示非正常文本(如拼写错误、专有名词标注等),不再是视觉下划线工具——想加装饰性下划线,必须用 CSS 的 text-decoration: underline。
-
<font></font>:所有属性(color、size、face)均失效,CSSfont系列属性替代 -
<center></center>:无对应语义,用text-align: center或 Flex/Grid 布局替代 -
<strike></strike>:完全被<del></del>(已删除内容)或<s></s>(不再准确/不适用的内容)取代,二者语义不同,不能混用
HTML5 新增但常被误用的语义化文本标签
HTML5 加入了 <mark></mark>、<time></time>、<small></small>、<ruby></ruby> 等标签,但很多人只按视觉效果使用,忽略了语义约束。
<mark></mark> 不是高亮背景色的万能工具——它特指“在引用上下文中暂态突出的文本”,比如搜索结果中的关键词匹配;若只是强调重点,应优先用 <strong></strong> 或 <em></em>。
-
<time datetime="2026-08-26">今天</time>:必须提供有效的datetime属性值(ISO 8601 格式),否则失去机器可读性 -
<small></small>表示“附属细则”,如版权信息、法律声明,不是缩小字体的快捷方式;滥用会导致屏幕阅读器误读层级 -
<ruby></ruby>及其子标签<rt></rt>、<rp></rp>专用于东亚文字注音,浏览器对<rp></rp>的 fallback 处理不一致,建议配合 CSSruby-position控制显示
哪些老标签至今仍完全有效且推荐继续用
以下标签从 HTML2 起就存在,HTML4、XHTML、HTML5 全部保留,语义清晰、兼容性极佳,无需犹豫直接用:
-
<p></p>:段落容器,不可嵌套其他块级文本标签(如不能<p></p> <div>xxx</div>) -
<strong></strong>和<em></em>:分别表达强/弱重要性,影响屏幕阅读器语调,比<b></b>/<i></i>更具语义价值 -
<blockquote></blockquote>和<q></q>:前者用于独立引文块(需配cite属性),后者用于行内短引(浏览器自动加引号,但不可嵌套) -
<pre class="brush:php;toolbar:false;"></pre>:保留空格与换行,适合代码、ASCII 图等;注意默认等宽字体,如需改样式需重置font-family
其中 <b></b> 和 <i></i> 并未被废弃,但定位已变:它们现在仅表示“无特殊语义的突出显示”(如关键词、外语词、船名等),而非加粗/斜体样式本身——样式该由 CSS 控制。
跨版本兼容最易踩的坑:嵌套规则和属性限制
看似简单的文本标签,嵌套出错会导致解析异常或语义断裂。常见问题集中在:
-
<a></a>内不能包含交互元素(如另一个<a></a>、<button></button>),HTML5 明确禁止,部分浏览器会截断或忽略内部链接 -
<h1>–<h6></h6> </h1>是标题,不是放大字体工具;跳级使用(如<h2></h2>后直接<h4></h4>)破坏文档大纲,影响 SEO 和辅助技术 -
<dl></dl>必须成对使用<dt></dt>+<dd></dd>,HTML5 允许多个<dd></dd>对应一个<dt></dt>,但不允许<dt></dt>嵌套在<dd></dd>里 -
title属性在所有文本标签中都可用,但仅作为辅助提示;它不会被搜索引擎索引正文,也不被所有屏幕阅读器朗读(尤其移动端 Safari 有延迟或忽略)
真正麻烦的是那些“看起来能跑,其实语义崩了”的写法——比如用 <div> 包裹 <code><p></p> 再套 <span></span> 模拟标题,既增加 DOM 深度,又让 AT(辅助技术)无法识别结构层级。











