HTML文本格式化核心是语义而非样式:表强重要性,仅视觉加粗;表语气强调,表术语标识;<mark>表上下文相关,表内容已移除;/需注意排版与可访问性。

别用 <u> 做强调,也别把 <b> 当 <strong> 用——语义错位会导致可访问性降级、SEO弱化,甚至被现代浏览器警告。
什么时候该用 <strong> 而不是 <b>
关键看这段文字是否承载“重要性”而非仅“视觉加粗”。比如错误提示、法律条款关键义务、操作风险警告,必须用 <strong>;而产品名、书名、界面按钮文案这类纯视觉区分需求,才考虑 <b>。
-
<strong>会被屏幕阅读器加重语气朗读,<b>不会 - 搜索引擎将
<strong>内容纳入关键词权重计算,<b>不参与 - 某些无障碍工具(如 Chrome 的 Accessibility Inspector)会忽略
<b>的语义层级
<em> 和 <i> 的真实分工
<em> 表示语气强调,比如“你真的确定要删除?”——重音落在“真的”上;<i> 则用于语义上“从上下文中抽离”的文本,例如外语词(<i>bonjour</i>)、生物分类名(<i>Homo sapiens</i>)、船名(<i>Titanic</i>)。
- 误用
<i>替代<em>会导致语音合成器无法正确停顿或重音 - CSS 中若全局重置
i { font-style: normal; },<i>的语义仍保留,但<em>失去语气传达能力 - 不要用
<i>标注图标文字(如“× 关闭”),应改用<span aria-hidden="true">
<mark> 不是高亮笔,而是“需要用户注意的上下文片段”
<mark> 的本意是标记搜索结果中的匹配项、文档修订中的变更点、或教学材料中需反复辨识的概念。它默认带黄色背景,但重点不在颜色,而在“这段内容与当前任务强相关”。
立即学习“前端免费学习笔记(深入)”;
- 避免全段
<mark>,那等于没标记——人眼无法识别重点 - 不要用
<mark>替代 CSS 的background-color实现装饰性高亮 - 在深色主题下,原生
<mark>黄色可能对比度不足,需配合color-scheme: dark调整 background
<del> 和 <ins> 必须成对出现才有意义
单独写 <del>¥199</del> 是无效的——它没说明“删掉之后是什么”。正确用法是 <del>¥199</del><ins>¥149</ins>,构成一次语义完整的修改事件。
- 版本控制系统导出 HTML 日志时,
<del>/<ins>是唯一能被 Git diff 工具识别并映射的原生标签 - 辅助技术(如 NVDA)会读作“删除一百九十九元,插入一百四十九元”,而非只读删除部分
-
<s>和<u>是过时替代方案,HTML5 已明确不推荐用于价格/状态变更场景
真正难的是判断语义边界:一段话里哪些词该用 <strong>,哪些该用 <mark>,哪些其实该拆成新段落——这没法靠标签解决,得回到内容结构本身去理清优先级。



















