<br>仅用于同一语义单元内强制换行(如地址、诗歌),非排版工具;<hr>是主题分隔符,表内容逻辑转换,非装饰线;均应优先用CSS替代。

换行标签 <br> 和水平线标签 <hr> 都是语义明确的空元素,但用法差异大。关键不是“能不能用”,而是“该不该用”——是否符合内容结构和可访问性要求。
换行标签 <br> 的规范用法
它只适用于同一语义单元内需要强制换行的场景,不是排版工具,更不是替代段落的方式。
-
适合用:地址、诗歌、歌词、签名档等天然按行组织的文本。例如:
<p>北京市朝阳区建国路88号<br>邮编:100022</p>
-
不适合用:为制造段间距而堆叠多个
<br>;在标题后、列表项中强行换行;用它代替<p>或 CSS margin 控制布局。 -
注意细节:它是自闭合标签,写成
<br>即可(HTML5 不要求<br />);屏幕阅读器通常忽略单个<br>,但连续多个可能被读作“空白行”,影响可访问性。
水平线标签 <hr> 的规范用法
<hr> 在 HTML5 中是主题分隔符,代表内容逻辑上的转换,不只是视觉线条。
- 适合用:文章中不同话题之间的切换,比如“产品介绍”之后接“用户评价”,或“正文”与“参考资料”之间。
- 不适合用:纯装饰性分割(如导航栏下加一条线)、重复用于每段文字之间、仅为了加边框效果。
-
样式建议:不要依赖旧式属性(如
color、size、noshade),这些在现代标准中已废弃。应使用 CSS 控制,例如:<hr style="border: none; height: 1px; background: #ccc; margin: 1.5em 0;">
替代方案比硬编码更推荐
很多看似需要 <br> 或 <hr> 的地方,其实有更语义化、更可控的解法。
立即学习“前端免费学习笔记(深入)”;
- 想控制段落间距?用 CSS 的
margin-top/margin-bottom。 - 想让多行文本保留原始换行?用
white-space: pre-line配合普通换行符,比一堆<br>更干净。 - 需要响应式分隔线?用
<div class="divider"></div>加 CSS,便于统一维护和媒体查询适配。



















