首页 / HTML5 入门教程 / 废弃标签与替代方案

HTML5 入门教程

废弃标签与替代方案

本教程共 110 篇 · 第 105 篇 · 更新于 2026-07-28 · 约 4 分钟阅读

HTML5HTML5 入门教程废弃标签过时标签替代方案最佳实践

105. 废弃标签与替代方案

本节目标:认识 HTML 中已废弃的标签,知道每个标签该用什么替代,写出符合现代标准的 HTML。

为什么要了解废弃标签

老教程、老项目里可能还藏着一些废弃标签。知道了哪些不能用,你就不会被误导,也能在 code review 时指出问题。

Warning

废弃标签在浏览器里可能还能渲染,但不符合标准,未来可能被移除。新项目不要用。

布局相关废弃标签

这些标签曾经用来做布局,现在都用 CSS:

废弃标签曾经的用途现代替代
<center>居中text-align: centermargin: auto
<font>字体样式CSS font-familyfont-size
<basefont>默认字体CSS body { font-family: ... }
<big>大字号CSS font-size
<strike>删除线<del> 或 CSS text-decoration: line-through
<tt>等宽字体<code> 或 CSS font-family: monospace
<u>下划线CSS text-decoration: underline
<plaintext>纯文本<pre><code>
<xmp>示例文本<pre><code>
<listing>代码列表<pre><code>
<menu> (旧)菜单列表<ul>(HTML5 重新定义了 <menu> 但用法不同)

框架相关废弃标签

iframe 还在,但这些彻底不要用了:

废弃标签替代方案
<frameset>CSS Flexbox/Grid 或 <iframe>
<frame>CSS Flexbox/Grid 或 <iframe>
<noframes>不需要了

视觉样式相关标签

这些标签在 HTML5 中被重新定义了语义,不再是单纯的视觉样式标签。如果你只是想改视觉效果,推荐用 CSS:

标签HTML5 语义替代方案
<b>带来关注但不重要(关键词、产品名)纯视觉效果用 CSS font-weight
<i>另一种语气、技术术语、外文短语纯视觉效果用 CSS font-style
Note

<b><i> 在 HTML5 中被重新定义了语义(b 是”带来关注但不重要”,i 是”另一种语气”),但如果你只是想做视觉效果,还是用 CSS 更合适。

功能相关废弃标签

废弃标签曾经的用途现代替代
<applet>Java 小程序<object>
<marquee>跑马灯CSS 动画或 JS
<blink>闪烁文字CSS 动画
<spacer>空白占位CSS marginpadding
<dir>目录列表<ul>
<multicol>多列布局CSS columns 或 Flexbox/Grid
<nobr>不换行CSS white-space: nowrap
<noembed>不支持 embed 时显示不需要了
<wbr>可断行位置仍可用,HTML5 标准

完全废弃的 HTML 属性

除了标签,一些属性也废弃了:

废弃属性曾经用于替代
align对齐CSS text-alignmargin
bgcolor背景色CSS background-color
border (table)表格边框CSS border
cellpadding表格内边距CSS padding
cellspacing表格间距CSS border-spacing
valign垂直对齐CSS vertical-align
width / height (table)表格尺寸CSS widthheight
hspace / vspace图片边距CSS margin
link / vlink / alink (body)链接颜色CSS 伪类选择器
background (body)背景图CSS background-image

对比示例

废弃写法

<center>
  <font size="5" color="red">标题</font>
</center>
<table border="1" cellpadding="5" bgcolor="#eee">
  <tr><td align="center" valign="middle">内容</td></tr>
</table>
<marquee>滚动文字</marquee>

现代写法

<h1 class="title">标题</h1>
<table>
  <tr><td>内容</td></tr>
</table>
<div class="marquee">滚动文字</div>
.title {
  text-align: center;
  font-size: 2em;
  color: red;
}
table {
  border: 1px solid #ccc;
  background-color: #eee;
}
td {
  text-align: center;
  vertical-align: middle;
  padding: 5px;
}
.marquee {
  animation: scroll 10s linear infinite;
}

现在依然可用的”老标签”

这些标签虽然在 HTML5 之前就有,但仍然有效且推荐使用

标签用途
<iframe>嵌入其他页面
<embed>嵌入多媒体(配合 <video>/<audio>
<object>嵌入外部资源
<small>辅助信息、版权声明
<s>不再准确的内容(删除线,但有语义)
<q>短引用
<abbr>缩写
<cite>引用作品标题
<sub> / <sup>下标 / 上标
<wbr>可选换行位置

检查工具

不确定某个标签是否废弃?

  • HTML Validator:在线检查 HTML 规范
  • MDN 文档:每个标签页面都会标注是否废弃
Tip

一句话原则:能写 CSS 解决的,不要用 HTML 标签。HTML 负责结构和语义,CSS 负责外观。这是现代 Web 开发的基本分工。