HTML格式化标签核心在于语义匹配:<strong>表重要性(屏幕阅读器加重),<b>仅视觉加粗;<em>表强调重音,<i>表外文等特殊语境;<del>表删除保留痕迹,<s>表内容失效;嵌套需逻辑自洽,避免冗余或错误结构。

HTML格式化标签不是“加个样式就完事”,关键在语义是否匹配、浏览器渲染是否一致、SEO和可访问性是否受损。 直接用 <b> 和 <i> 很快,但多数场景下它们是错的——尤其当内容有强调、插入、删除等含义时。
什么时候该用 <strong> 而不是 <b>
两者都加粗,但语义完全不同:<strong> 表示内容重要性提升(屏幕阅读器会加重语气读出),<b> 仅表示“视觉加粗”,无语义权重。
- 用户协议中「您不得擅自修改本条款」这类法律约束句,必须用
<strong>,不能用<b> - 商品价格旁标注「限时特惠」,属于纯视觉提示,可用
<b> - 搜索引擎和无障碍工具依赖
<strong>判断内容优先级,滥用<b>会让这些系统忽略真正重点
<em> 和 <i> 的实际分界点
<em> 是强调(stress emphasis),代表说话时重音位置变化;<i> 是“不同语境下的文本”,比如外文词、科技术语、船名、小说中角色内心独白等。
- 「你真的确定要删除?」——「真的」是强调,用
<em> - 「《The Great Gatsby》是一本经典小说」——书名是外文,用
<i> - Chrome 和 Safari 对
<em>默认斜体 + 语音强调,但对<i>只渲染斜体,不改语音行为
<del> 与 <s> 不要混用
<del> 表示内容已被删除但保留在文档中(如修订痕迹、降价前价格);<s> 表示内容不再准确或不适用(如过期公告、已停售型号)。
立即学习“前端免费学习笔记(深入)”;
- 电商页显示「¥299
¥399」——这是价格修订,用<del> - 「本活动已于2025年12月31日结束」整句失效,应包裹在
<s>中 - 部分老项目用
<s>标价格删减,会导致屏幕阅读器读作「错误内容」,影响可信度
格式化标签嵌套时的常见陷阱
语义标签嵌套需保持逻辑自洽,否则会破坏可访问性树结构。例如 <strong> 内再套 <em> 是允许的(强调中的强调),但 <strong> 套 <b> 就冗余且无意义。
- 避免
<strong><b>文字</b></strong>:双重加粗无额外语义,CSS 控制即可 - 禁止
<p><strong><p>段落</p></strong></p>:<p>是块级元素,不能嵌套在另一个<p>内 -
<ins>和<del>支持datetime属性,上线时间/下线时间建议补全,便于审计和自动化处理
真正难的不是记住哪些标签能加粗或变斜体,而是每次敲下尖括号前,先问一句:这个样式变化,是想告诉人「这很重要」,还是只想让人「看到它不一样」?前者选语义标签,后者才轮到 <b>、<i>、<u> 这类纯表现标签。



















