必须用strong而非b:strong表征内容重要性,影响屏幕阅读器停顿、SEO加权及WCAG合规;b仅纯视觉加粗,无语义,合法场景极少,现代开发应优先用CSS类替代。

别用 <b> 和 <i> 做语义表达,该用 <strong> 和 <em> 的地方硬套物理标签,后期可访问性和 SEO 会出问题。
什么时候该用 <strong> 而不是 <b>
当一段文字在逻辑上「更重要」——比如警告、关键参数、错误提示、合同条款中的责任描述——就该用 <strong>。浏览器默认渲染为粗体,但它的价值不在样式,而在告诉屏幕阅读器“这段内容权重高”。
-
<b>只是视觉加粗,没有语义,适合纯装饰性加粗(如产品名旁的“NEW”徽章) - 搜索引擎和辅助技术会忽略
<b>的语义信号,但会响应<strong> - 如果只是想统一加粗某类元素(如所有术语),用 CSS 更可控:
span.term { font-weight: bold; },而不是混用<b>
<em> 和 <i> 的核心区别在哪
<em> 表示语气上的强调,比如反问、转折、重点重读;<i> 则用于约定俗成的非强调类文本,比如外文词、生物分类名、船名、技术术语(如 <i>HTTP</i>)。
- 写“你真的确定要删除?”——这里
<em>模拟说话时的重音 - 写“《百年孤独》是魔幻现实主义代表作”——书名用
<i>是 HTML5 明确推荐的用法 - 滥用
<i>做强调,会导致语音合成器读错语调,或让盲人用户误判意图
<u> 为什么现在基本不该用
HTML5 中 <u> 已被重新定义为“非文本标注”,比如拼写错误、专有名词、中文注音等场景,**不再是通用下划线工具**。普通下划线请用 CSS:text-decoration: underline;。
文章转信息图。将文章/笔记转化为手机可读的 HTML 信息图,自动匹配视觉风格。触发场景:文章转图、笔记转图、信息图、转小红书图、做张图、可视化这篇文章、文生图。
立即学习“前端免费学习笔记(深入)”;
- 浏览器对
<u>的默认样式在不同版本中不一致(有的带虚线,有的带颜色) - 用户习惯把下划线和链接绑定,单独用
<u>容易引发误点击或信任质疑 - 真正需要语义化下划线时,优先考虑
<ins>(插入内容)或自定义 class + CSS
格式化标签嵌套时容易踩的坑
HTML 允许嵌套,但语义不能冲突。比如 <strong><em>危险操作</em></strong> 合理(强调+重要),而 <em><strong>危险操作</strong></em> 就冗余且逻辑混乱。
- 避免多层
<strong>嵌套:浏览器不会叠加加粗效果,反而增加 DOM 复杂度 -
<sub>和<sup>不支持块级内容,只应包裹纯文本或单个符号(如 H2O) -
<pre>里直接放<strong>是安全的,但别在里面塞大段富文本——它本意是保留原始空格与换行
真正难的不是记住哪些标签能用,而是每次敲下 <b> 前问一句:我是在修饰外观,还是在传达信息层级?后者才是 HTML 格式化标签存在的根本理由。


















