应优先使用语义化标签:<strong>强调内容重要性,<em>表示语气强调,<i>用于外文名等非标准文本,<del><ins>标记编辑变更,<mark>高亮上下文相关内容,<u>标注非文本化信息。

<strong> 和 <em> 是语义正确的文本强调方式,<b> 和 <i> 仅用于纯样式且无语义含义——别再用 <b> 代替加粗强调了。
什么时候该用 <strong> 而不是 <b>
当你想表达「这段文字在内容上很重要」时,必须用 <strong>。比如警告信息、关键操作步骤、法律条款中的义务性表述。
- 屏幕阅读器会加重语气读出
<strong>内容,但对<b>只是普通朗读 - 搜索引擎把
<strong>当作关键词权重信号,<b>几乎不参与语义分析 - CSS 可以统一重置所有
<strong>的视觉表现,但改<b>就得额外加规则 - 如果只是想让某几个字“看起来粗一点”,又不带重要性,才考虑
<b>(极少见)
<em> 和 <i> 的区别远不止斜体
<em> 表示语气上的强调,比如反问、转折、特殊读音;<i> 则用于语义上“非标准文本”:外文词、船名、生物分类名、术语定义等。
-
<em>你确定要删除吗?</em>—— 读出来要带疑问重音 -
<i>Homo sapiens</i>—— 生物学名,不是强调,是约定格式 -
<i>café</i>—— 外来词中保留原拼写,不表示强调 - 用
<i>包裹中文人名或书名(如《三体》)是错的,该用<cite>
<del> 和 <ins> 不是装饰,是编辑痕迹
它们对应的是「内容被删改」这一事实,不是视觉效果。浏览器默认加删除线/下划线,但重点在传达变更状态。
立即学习“前端免费学习笔记(深入)”;
-
<del>应用于已失效价格、过期政策、撤回声明等有明确时间意义的删除 -
<ins>常见于修订稿、合同补充条款、实时协作编辑场景 - 不要用
<del>做“划掉优惠价”的营销效果——那是 CSS 任务,语义上它代表“该信息不再有效” - 两者都支持
datetime属性,例如<del datetime="2026-08-20">¥299</del>,可被机器识别
<mark> 和 <u> 容易混用,但意图完全不同
<mark> 是「高亮突出当前上下文相关的内容」,比如搜索结果中匹配的关键词;<u> 在 HTML5 中语义已改为「非文本化标注」,比如拼写错误提示、专有名词下划线标注。
-
<mark>JavaScript</mark> 是前端核心语言—— 这里 JavaScript 是当前段落焦点 -
<u>recieve</u>—— 明确表示这是拼写错误(需配合 aria-label 或 JS 提示) - 旧式“链接下划线”不是
<u>的用途,那是 CSS 的text-decoration: underline -
<mark>默认黄色背景,但颜色不重要,语义才是关键:它是“被标记为值得注意”
真正难的不是记住标签怎么写,而是每次敲下 <strong> 之前,先问一句:我是在强调重要性,还是仅仅想让它变粗?



















