<strong>是语义化标签,表示内容逻辑重要、后果明确,屏幕阅读器加重朗读、SEO加权;必须成对使用,不可嵌套同类型标签,可与其他内联标签组合;<b>仅视觉加粗、无语义,适用于纯装饰场景;CSS font-weight用于纯样式控制,不传递语义。

用 <strong> 标签加粗文字(推荐首选)
语义正确、无障碍友好、SEO 友好,浏览器默认渲染为粗体,且屏幕阅读器会加重朗读。这不是“看起来粗”,而是“逻辑上重要”。
常见错误现象:<b>警告:操作不可逆</b> 被读屏软件平读,用户可能忽略风险;而换成 <strong> 后,语气明显加重。
- 必须成对使用:
<strong>删除后无法恢复</strong>,不能单写开标签或自闭合 - 避免嵌套同类型标签,比如
<strong><strong>嵌套</strong></strong>—— 语义不叠加,反而可能被辅助技术误判 - 可与其他内联标签组合,如
<strong>¥<span>99.00</span></strong>,不影响语义完整性
用 <b> 标签加粗文字(仅限无语义场景)
<b> 在 HTML5 中未被废弃,但已被重新定义为“纯视觉加粗,不传达重要性”。它不是 <strong> 的简化版,而是用途完全不同的标签。
使用场景明确:词典条目中的词条名(如《现代汉语词典》里“苹果”二字)、小说中角色首次出场名、UI 中纯装饰性关键词(如按钮旁的“NEW”徽标),且这些内容删掉加粗也不会影响信息理解。
立即学习“前端免费学习笔记(深入)”;
- 别把它当 CSS 备用方案——现代项目几乎不需要靠
<b>来兜底样式加载失败 - 在 React/Vue 模板中硬编码
<b>,后续团队推行语义化规范时,批量替换成本高、易漏改 - 如果删掉加粗,用户会不会漏关键信息?会 → 必须用
<strong>;不会 → 才考虑<b>
CSS 的 font-weight 怎么设才靠谱
纯视觉加粗需求(比如统一整站标题字重),用 CSS 更灵活;但它不带任何语义,<strong> 和 font-weight 不是二选一,而是可以共存。
容易踩的坑:写 font-weight: bolder —— 它依赖父元素字重计算,嵌套深时行为不可控;或盲目写 font-weight: 600,但所用字体实际只提供 400/700 两档,结果回退到 400(变细)或 700(过粗)。
- 通用稳妥写法:
font-weight: bold或font-weight: 700,兼容性最好 - 查清字体支持的字重:Google Fonts 页面会明确标出可用值(如 300、400、500、700);系统字体如
"Helvetica Neue", Arial基本只认 400/700 - 若用内联样式,直接写:
<p style="font-weight: 700">这段加粗</p>;类名方式更推荐:.highlight { font-weight: 700; }
为什么加了 <strong> 还不粗
不是标签写错了,大概率是样式层覆盖或字体本身限制。最该先检查开发者工具里的 computed font-weight 值。
三个高频原因:
- CSS 全局重置干掉了它,比如写了
strong { font-weight: normal; },直接覆盖浏览器默认行为 - 父容器设了极细字重(如
font-weight: 300),而<strong>没显式声明更高值,部分浏览器不会自动提升 - 字体文件没包含粗体变体——比如某些 icon 字体、精简中文字体或自定义 Web Font 只打包了常规字重,
<strong>有语义,但渲染不出粗效果
真正复杂的点不在怎么写标签,而在判断“这句话到底重不重要”——比如“限时优惠”四个字,是促销文案的一部分,还是独立的关键提示?这个边界模糊处,才是语义化落地最难的地方。



















