段落间“多出一行”是p标签默认上下margin所致,应通过css的margin属性统一控制间距,避免滥用br或空格,确保语义正确、响应式兼容与可访问性。

为什么段落之间总“多出一行”又“空得不对”
这不是 bug,是浏览器对 p 标签的默认样式在起作用:每个 p 自带上下 margin(通常约 16px),所以两个 p 之间看起来像“空了一行”。但这个“空行”不是你敲的回车,也不能靠堆 或连写
<br>控制——那样语义错、响应式崩、可访问性差。
用 CSS 的 margin 控制段落间距才是正解
直接改 p 的外边距,干净、可控、符合语义。别碰 line-height 或 padding 来模拟空行,那会干扰文本行高本身。
- 单处微调:
<p style="margin-bottom: 24px;">第一段</p> <p>第二段</p><div class="aritcle_card flexRow artxards"> <div class="artcardd flexRow"> <a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill6712" title="Wechat HTML Publisher"><img src="https://img.php.cn/upload/skill/000/000/081/179109368394970.jpg" alt="Wechat HTML Publisher" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a> <div class="aritcle_card_info flexColumn"> <a rel="nofollow" href="/xiazai/skill6712" title="Wechat HTML Publisher" class="overflowclass">Wechat HTML Publisher</a> <p class="overflowclass">直接上传HTML富文本到微信公众号草稿箱。支持完整的HTML格式,无需Markdown转换。</p> </div> <a rel="nofollow" href="/xiazai/skill6712" title="Wechat HTML Publisher" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div> - 全局统一:
p { margin: 1.2em 0; }(用em更适配字体缩放) - 避免上下 margin 叠加:相邻
p的margin-top和margin-bottom会折叠,只取较大值;想“严格两倍间距”,就只设margin-bottom
别用 或 <br>
塞空行
常见错误现象: 塞在段落末尾没效果;
<br><br>嵌在
p 里破坏语义;一堆 导致 HTML 体积膨胀、屏幕阅读器读成“不间断空格不间断空格…”。
-
只适用于单词级防断行(如Mr. Smith),不是排版工具 -
<br>
是纯换行指令,不是间距单位;连续多个<br>
在移动端易导致意外溢出或缩放异常 - 真要插入视觉空白容器,用
<div style="height: 20px;"></div>比堆标签更明确,但优先走margin
pre-wrap 适合保留用户输入中的空格和换行
如果内容来自表单提交、后台日志或 Markdown 渲染,且需原样保留用户敲的多个空格与空行(比如诗歌、配置片段),就别用 p 包裹,改用 white-space: pre-wrap。
- 示例:
<div style="white-space: pre-wrap;">第一行 第二行(中间两个空格)</div> - 它保留空格和换行,同时允许长行自动折行,比
<pre class="brush:php;toolbar:false;"></pre>更实用 - 注意:不要给整页
body加这个,否则所有文本都失去流式折行能力
真正难的不是“怎么空出来”,而是判断该不该空——段落间距本质是信息层级信号,不是装饰。多数时候,删掉多余
<br>、收掉乱写的
、老老实实调一次 margin,就解决了八成问题。前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










