应优先使用语义化标签:用代替表示强重要性,用代替表示强调,<u>已不推荐而应改用CSS实现下划线。

直接说结论:别用 <b> 和 <i> 做样式控制,优先选 <strong> 和 <em>;<u> 在 HTML5 中已不推荐,改用 CSS 实现下划线。
什么时候该用 <strong> 而不是 <b>
语义决定标签选择。<strong> 表示内容有强重要性,浏览器默认加粗只是呈现方式,屏幕阅读器会加重语气读出;<b> 仅表示“视觉上要加粗”,无语义权重。
- 写警告提示、关键操作按钮文字,用
<strong>—— 比如<p>请确认:<strong>删除后不可恢复</strong> - 纯装饰性加粗(比如品牌名固定样式),才考虑
<b>,但更推荐用class+ CSS 控制 - 嵌套时注意:不能在
<strong>里再套<strong>表达“更强”,应改用层级结构或 CSS 类区分
<em> 和 <i> 的实际区别在哪
<em> 是“强调”,有语义,影响语音合成和 SEO;<i> 是“以不同方式呈现”,适用于技术术语、外语词、船名等非强调场景。
- 表达语气转折或重点重读,用
<em>——<p>你<strong>必须</strong>保存,<em>否则</em>数据将丢失</p> - 写拉丁学名、外文短语、船名、思想实验名称,用
<i>——<p>智人(<i>Homo sapiens</i>)</p> - 不要因为“看起来像斜体”就随手用
<i>,那属于样式范畴,该交给 CSS
<sub>、<sup>、<del>、<ins> 这类标签的常见误用
它们不是“为了好看而加效果”,而是标记内容的含义变化。浏览器默认样式只是辅助理解,不能替代语义。
立即学习“前端免费学习笔记(深入)”;
-
<sub>用于化学式(H<sub>2</sub>O)、数学下标(x<sub>i</sub>),不是用来缩小字体 -
<sup>用于上标单位(m<sup>2</sup>)、脚注编号(详见第3章<sup>1</sup>),不是为了抬高文字位置而滥用 -
<del>和<ins>必须成对出现才有意义,单独用<del>旧价格</del> ¥99是错的,应是<del>¥199</del><ins>¥99</ins> - 所有这些标签都支持
datetime属性,例如<ins datetime="2026-09-28T14:30">,便于机器识别修改时间
CSS 替代方案比原生标签更灵活的几个点
当格式化需求超出语义范围(比如红色下划线、带背景色的强调、多级斜体粗细组合),原生标签就力不从心了。
-
<u>已被 HTML5 标记为“不鼓励使用”,因易与链接混淆;要用下划线,写text-decoration: underline或更安全的text-decoration: underline wavy red - 想让某段文本既有加粗又有颜色还有背景,
<strong>无法承载,必须用<span class="highlight">+ CSS -
<small>仅适用于法律条款、版权信息等“次要内容”,不是通用缩小字号工具;需要缩放,用font-size: 0.8em - 响应式排版中,
<em>的语义不会变,但它的视觉表现(斜体/颜色/动画)可随屏幕尺寸自由调整
真正难的不是记住哪些标签能加粗或变斜,而是每次敲下 < 时,先问一句:我是在描述内容的角色,还是仅仅想让它看起来不一样?后者几乎都应该交给 CSS。



















