strong 表达内容重要性高,是语义标签;b 仅用于视觉突出,无额外语义。W3C 明确区分:strong 表示“强重要性”,b 用于“功能性突出”。SEO 和可访问性上,strong 影响权重与屏幕阅读器语调,b 则无此作用。

strong 和 b 的语义本质不同
它们默认都加粗,但浏览器加粗只是表象;strong 表达「内容重要性高」,是逻辑标签;b 表达「需要视觉突出但无额外语义」,是纯样式标签。W3C HTML5 规范明确区分了二者用途:strong 用于「strong importance」,b 用于「utilitarian purposes without conveying extra importance」——比如摘要里的关键词、产品名、导语首句。
SEO 和可访问性影响差异明显
搜索引擎会把 strong 内容识别为页面重点,可能提升对应关键词的权重;b 不传递任何语义信号,对 SEO 无直接作用。屏幕阅读器对 strong 通常会加重语气或改变语调,而对 b 多数只读作普通文本——这意味着用 b 替代 strong 会丢失无障碍支持。
CSS 覆盖时行为一致,但意图不可混淆
你可以用 CSS 改掉两者默认加粗效果,例如:
strong, b { font-weight: normal; }
但这么做的前提必须是:你清楚自己在削弱语义还是仅调整样式。常见错误包括:
立即学习“前端免费学习笔记(深入)”;
- 用
b包裹标题关键词,指望提升 SEO —— 实际无效 - 在响应式设计中统一重置
font-weight却没同步检查语义是否被掩盖 - 把
strong当作「更粗的b」来嵌套使用,导致语义过载(HTML5 明确不鼓励多层strong)
什么时候该用 b 而不是 strong
不是所有加粗都需要强调重要性。真实场景中,b 更适合以下情况:
- 文章摘要里出现的术语或产品名(如「
<b>iPhone 16</b> 搭载 A18 芯片」)</li> <li>交互文案中的可操作词(如「点击 <code><b>确认</b>
继续」) - 技术文档中命令行片段(如「运行
<b>npm install</b>」)
这些地方要的是视觉区分,不是语义强调——换言之,删掉 b 不会影响理解重点,但去掉 strong 可能让关键信息被忽略。



















