应优先用em而非i表达语气强调,因em被读屏软件识别为语义强调并改变语音特征,而i仅标记外文词、术语等特殊文本类型且无语气作用;纯视觉斜体需求须用css实现。

em 和 i 都会让文字变斜,但它们根本不是一回事——一个是“说话时抬音调”,一个是“这个词需要换个样子写”。选错标签,屏幕阅读器听不出重点,搜索引擎也抓不到关键信息。
em 是语气开关,不是斜体按钮
用 em 的唯一理由是:这个词在口语中会被重读、拖长、或带反讽/紧迫感。比如“你必须保存”,“必须”是动作边界;“这‘显然’不是个好主意”,“显然”是反语锚点。去掉 em,句子的语气或逻辑就弱了甚至变了。
- 屏幕阅读器(如 VoiceOver、NVDA)会为 em 改变语速、停顿或音调,不是平读
- 搜索引擎把 em 内容纳入关键词权重计算,影响 SEO
- em 支持有意义的嵌套:绝对不能,外层强调禁令,内层强化程度,读屏器会分层处理
- 即使 CSS 把 em 设成正体、加粗或红色,它的语义强调依然生效
i 是类型标签,不是强调工具
i 不表示“这里很重要”,而是说“这段文字在语境中类型特殊”。它本身不属于主叙述流,也不该被重读。比如外文词、科技术语、船名、作品名、内心独白——它们需要视觉区分,但和语气无关。
- 正确用法:Le Petit Prince、Promise、Titanic、她想:他怎么会在这里?
- 错误用法:必须提交、立即操作、错误提示——这些都该用 em 或 CSS + span
- i 嵌套没有语义意义,café 和单层 café 对读屏器来说完全一样
- i 在可访问性检测中常被归为“装饰性内容”,其文字不参与颜色对比校验
纯视觉斜体?别碰 i,用 CSS
如果只是想让一段话看起来斜一点,又不带任何语气或类型含义,最稳妥的方式是用 + CSS:纯样式斜体。这样既避免语义污染,又便于统一维护。
- 浏览器默认把 em 渲染为斜体,但这只是呈现方式,核心是语义
- i 被 HTML5 明确保留,但规范特别提醒:“不要仅仅为了斜体效果而用它”
- 用 i 替代 CSS 实现纯视觉斜体,容易让后续开发者误以为有语义,埋下无障碍隐患
怎么快速判断该用哪个?
问自己一个问题:去掉斜体后,这句话的语气、重点或逻辑是否被削弱?
- 是 → 用 em(比如“不是快,而是准”、“你真的没看到通知”)
- 否 → 看是否属于特定文本类型:外文、术语、船名、作品名、思想流 → 用 i
- 都不是 → 直接用 span + font-style: italic,别硬套语义标签










