表示强重要性,影响无障碍和seo; 仅视觉加粗无语义; 表示语音重读, 用于术语/外语等语义场景;语义错配(如用 强调)会降低可访问性。

用 <strong></strong> 和 <b></b> 加粗文字,但语义不同
加粗不是单纯为了“看起来粗”,而是传递信息权重。<strong></strong> 表示内容有强烈重要性,屏幕阅读器会加重语气;<b></b> 仅用于引起注意,不带语义强调。比如警告提示必须用 <strong></strong>,而产品名加粗可用 <b></b>。
常见错误:把所有加粗都写成 <b></b>,导致无障碍支持弱、SEO 权重丢失。实际项目中,除非明确需要“无语义加粗”(如品牌 logo 文字),否则优先选 <strong></strong>。
用 <i></i> 和 <em></em> 实现斜体,用途截然相反
<i></i> 是术语、外语短语、船名、思想活动等的语义容器,例如 <i>Homo sapiens</i> 或 <i>café</i>;<em></em> 则表示语音重读,影响屏幕阅读器停顿和语调,比如“我没说错”里的“没”适合用 <em></em> 包裹。
容易踩的坑:
- 用
<i></i>标记强调——这是语义错配,应换<em></em> - 用
<em></em>包裹技术术语——它不传达术语属性,应换<i></i> - 嵌套过深,比如
<em><i>...</i></em>——多数场景无需双重语义
用 <sub></sub>、<sup></sup>、<small></small> 处理特殊排版需求
这些标签不是“缩小字号”或“调位置”的视觉捷径,而是有明确语义边界:
-
<sub></sub>专用于化学式(H<sub>2</sub>O)、数学下标、脚注编号 -
<sup></sup>用于上标(x<sup>2</sup>)、版权符号(©<sup>℗</sup>)、序数词(1<sup>st</sup>) -
<small></small>不是“小号字体”的万能替代,只适用于法律条款、版权信息、免责声明等旁注类内容
性能提示:滥用 <small></small> 替代 CSS 的 font-size 会导致语义污染,影响可访问性和打印样式继承。
避免用 <u></u> 和 <s></s> 做纯样式控制
<u></u> 在 HTML5 中已重定义为“非文本注释”,典型用途是标出拼写错误、中文专名号、或人工标注的识别结果;<s></s> 表示内容“不再准确/不再相关”,不是划掉促销价的视觉手段。
真实场景中的取舍:
- 要划掉旧价格?用
<del></del>(语义是“已删除”),配合 CSS 加删除线 - 要加下划线强调链接以外的内容?优先用 CSS
text-decoration: underline,而非<u></u> - 要标记已废弃的 API 名称?用
<s></s>;若只是视觉弱化,用color: #999+font-size
最常被忽略的一点:这些标签默认样式可被 CSS 覆盖,但语义不可逆——一旦用了 <s></s>,即使删掉删除线,语义仍是“已失效”。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











