应优先用标签表示语义强调,因其明确表达内容强重要性,被搜索引擎和屏幕阅读器识别;仅用于无语义的纯视觉加粗,现代html5规范已弱化其地位。

用 <strong></strong> 标签加着重号最稳妥
浏览器默认把 <strong></strong> 渲染为粗体,语义上也明确表示“重要内容”,这是 HTML 标准推荐的做法。别用 <b></b>,它只是视觉加粗,没有语义权重,SEO 和屏幕阅读器都不买账。
示例:
<p>请务必在截止时间前提交<strong>身份证正反面照片</strong>。</p>
- 如果项目要求强调色而非粗体,用 CSS 覆盖:
strong { font-weight: normal; color: #d32f2f; } - 避免嵌套多层
<strong></strong>—— 语义上没有“更强调”这回事,浏览器和读屏软件不会区分层级 - 不要为了样式妥协语义:哪怕设计稿只要下划线,也优先用
<strong></strong>+ CSS,而不是改用<u></u>(后者语义是“非文本标注”,比如拼写错误提示)
需要下划线或背景高亮时,用 span 配合 class
HTML 没有原生“着重号”标签(像中文排版里的点字符或横线),所有非粗体/非斜体的强调方式都得靠 <span></span> + CSS 实现。关键是不能丢语义 —— 如果这段文字确实需要被识别为强调内容,class 名要体现意图,比如 class="emphasis-keyword",而不是 class="red-underline"。
示例:
<p>参数 <span class="emphasis-keyword">timeout</span> 单位为毫秒。</p>
- CSS 可写:
.emphasis-keyword { text-decoration: underline; text-decoration-color: #1976d2; } - 若强调区域含换行或内联元素,
<span></span>仍可用,但需确认 CSS 的display行为(默认 inline,一般够用) - 避免用
style属性硬编码样式,不利于维护和主题切换
警惕 <em></em> 和 <strong></strong> 的混淆
<em></em> 表示“重音强调”,语义强度弱于 <strong></strong>,浏览器通常渲染为斜体。日常中很多人误以为“斜体=强调”,结果该用 <strong></strong> 的地方用了 <em></em>,导致语义降级。
- 用户操作指令、警告信息、必填字段名 → 用
<strong></strong> - 朗读时需改变语调的词(如“我不是说你错了,而是说方案有问题”)→ 用
<em></em> - 两者都不能替代 CSS 控制视觉表现;如果设计要求“斜体+红色”,仍应基于
<strong></strong>写 CSS,而非退化为<em></em>
移动端和读屏软件对强调标签很敏感
很多读屏软件(如 VoiceOver、NVDA)遇到 <strong></strong> 会加重语调或暂停,遇到 <em></em> 则微调语速。如果只用 CSS 加粗而不用语义标签,这部分无障碍支持就直接丢失了。
- 检查方式:用 Chrome 开发者工具打开“Accessibility”面板,选中文字,看 “AXRole” 是否为 “strong”
- 某些 CMS 或富文本编辑器会把用户点击“加粗”按钮直接输出
<b></b>,需后端或前端过滤转换为<strong></strong> - 国内部分政务网站仍用
<font color="red"></font>做强调,完全无语义,且<font></font>已被 HTML5 废弃
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











