语义上必须用 而非 ,因其专用于强调语气(如备注),支持可访问性;可直接嵌套于表格单元格内,推荐统一用 CSS 类控制样式,避免内联 style 或冗余包裹。

斜体备注该用 <i></i> 还是 <em></em>
语义上必须选 <em></em> —— <i></i> 是纯样式标签,HTML5 明确要求它只用于“非强调的替代语气”,比如外语词、术语、船名;而备注通常表达语气上的轻提示或补充说明,属于强调范畴。<em></em> 有默认斜体渲染,且被屏幕阅读器识别为重音,对可访问性友好。
在表格单元格里直接嵌套没问题
无论是 <td> 还是 <code><th>,都可以直接把 <code><em></em> 放进去,浏览器会正确继承父级样式(如字体大小、颜色),不需要额外 CSS:
<td>单价:¥29.9<em>(含税)</em></td>
- 不要写成
<td><em>(含税)</em></td>单独占位——语义断裂,且易被读屏软件误读为独立条目 - 避免在
<em></em>外再套<span></span>或其他包裹标签,徒增冗余 - 如果表格用了
border-collapse: collapse,<em></em>不会影响边框渲染,放心用
需要统一控制斜体样式时,优先用 CSS 类而非内联 style
当多个备注需一致字号、颜色或禁用斜体(比如适配深色模式),别在每个 <em></em> 上加 style="font-style:normal;color:#666"。统一定义类更可控:
.note { font-style: normal; color: #666; font-size: 0.9em; }
然后写成:
立即学习“前端免费学习笔记(深入)”;
<td>库存<em class="note">(实时更新)</em></td>
-
<em></em>默认是斜体,设font-style:normal才能关掉——不能靠删标签来“取消语义” - 别用
!important覆盖<em></em>的默认样式,破坏可维护性 - 如果项目用了 CSS-in-JS 或 Shadow DOM,注意类选择器作用域是否覆盖到
<em></em>
遇到 font-style: italic 不生效?先查继承链
极少数情况(比如某些 UI 框架重置了 em 样式),<em></em> 可能不斜体。此时不是标签失效,而是 CSS 层叠覆盖了它:
- 用浏览器开发者工具检查 computed styles,确认
font-style是否被父元素(如<table> 或自定义类)设为 <code>normal - 避免在
<table> 或 <code><td> 上全局设 <code>font-style: normal——它会继承给所有子元素,包括<em></em> - 真要强制斜体,写
em.note { font-style: italic !important; }是下策,应优先修正源头样式
备注的斜体本质是语义表达,不是视觉装饰。用错标签或硬塞样式,后期改起来反而更麻烦。



















