是纯视觉换行指令,无语义;是语义化段落容器,自带间距与结构。前者用于地址、诗歌等同段内强制换行,后者用于逻辑完整的独立文本块,混用会损害可访问性、SEO和CSS控制力。

和
都能“换行”,但它们根本不是同一类东西——一个是视觉断点,一个是语义结构。用错会直接影响可访问性、SEO 和 CSS 控制力。
br 是纯换行指令,不带任何语义
是空标签,只做一件事:让光标立刻跳到下一行。它不表示新段落、不自带间距、不被屏幕阅读器当作内容分隔符。
- 适用场景很窄:诗歌每行、地址多行、歌词、表单内行内换行(如
) - 连续写多个
会堆出大片空白,但这不是设计意图,而是滥用信号 - 不能用 CSS 直接控制它的“高度”,只能靠前后元素的
line-height或外边距间接影响 - 在
、
等替换元素内部,可能被忽略或行为不一致p 是段落容器,自带语义和默认样式
必须成对使用(),它告诉浏览器:“这是一段完整、独立的文本内容”。浏览器默认会给它上下加...
margin(通常是约1em),形成视觉段落间距。- 搜索引擎和屏幕阅读器靠它识别内容结构;省略或乱套会导致语义断裂
- 可以用 CSS 精确控制:比如
p { margin: 0.5em 0; text-indent: 2em; } - 在响应式布局中,
的块级特性让它天然适配宽度变化;而一堆会让文字在小屏上挤成一团 - 不要为了“看起来没间距”就全写成
——那等于放弃语义,倒退回纯视觉排版
常见错误:把 br 当 p 用,或用 p 模拟 br 效果
典型现象:
写地址,结果每行间距过大;或者反过来,在长段落里疯狂插第一行
第二行
第三行
来“分段”,导致无法缩进、无法响应式折行、无法被语音朗读为一段。- 错误写法:
—— 地址是单段内容,上海市
浦东新区
张江路123号合理;但整个包在里是对的 - 错误写法:
——这是第一段。
这是第二段。
在两个之间完全多余,浏览器已用margin分隔 - 真正需要控制间距时,改 CSS,别靠堆标签:比如统一设
p { margin-bottom: 1rem; },而不是每个后手动加
怎么选?看内容是否构成一个逻辑段落
问自己一句:这两行文字,删掉中间那个换行,还是一段意思完整的句子吗?
- 是 → 用
包裹整段,别拆 - 否 → 比如“春眠不觉晓,
处处闻啼鸟”,诗句分行是形式需要,不是语义分段 → 用 - 不确定 → 优先选
。HTML5 强调语义优先,宁可多分段,别少结构
最易被忽略的一点:现代框架(如 React/Vue)里,
常被当成“快速修复换行”的捷径,但它绕过了组件粒度和样式作用域。真要可控,应该用 CSS 的white-space或 flex/wrap 布局替代——不该是排版的第一反应。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











