应直接用<p>标签包裹语义完整的文本块,配合CSS设置margin-bottom、无单位line-height和text-indent;禁用<br>或空<p>模拟间距,因其破坏语义、影响SEO与无障碍访问。

直接用 <p> 标签包裹语义完整的文本块,再配合 CSS 控制 margin、line-height 和 text-indent,就能解决 90% 的段落可读性问题。别试图用 <br> 或空 <p></p> 模拟间距——这是最常踩的坑。
为什么不能用 <br> 或多个 <p> 强行分段
浏览器把 <br> 当作换行符,不是语义分隔;连续写 <p></p><p></p> 会生成多余空白,且屏幕阅读器无法识别逻辑段落边界。搜索引擎也只把真正包裹内容的 <p> 当作正文段落索引。
-
<br>仅适用于同一段内强制换行(如地址、诗行),不是排版工具 - 空
<p></p>在部分旧版 IE 中会渲染出异常高度,移动端更易错位 - 段落语义断裂后,CSS 的
p + p选择器或:first-child规则会失效
margin 和 line-height 的组合怎么设才不翻车
默认 <p> 有上下 margin,但值因浏览器而异(Chrome 约 1em,Firefox 约 1.12em)。直接覆盖时建议用 margin-bottom 单边控制,避免上下叠加导致间距翻倍。
- 统一用
margin: 0 0 1.2em 0;替代margin: 1.2em; -
line-height设为无单位数值(如1.6),它会继承父级 font-size,比24px更安全 - 移动端小屏下,
line-height可微调至1.5防止行距过大拉长滚动距离
首行缩进该用 text-indent 还是 padding
必须用 text-indent。padding 会让整段左移,破坏段落对齐基准线,且与 margin 叠加后难以调试。中文排版中 text-indent: 2em; 是通用起点,但注意:
立即学习“前端免费学习笔记(深入)”;
- 若段落含
<strong>或<em>,text-indent仍只作用于第一行首字符 - 不要对
<p class="lead">这类导语段落设text-indent,它通常需顶格强调 - 使用 rem 单位时,确保根元素
font-size已定义,否则2rem可能远超预期
真正难的不是写对这几个属性,而是每次新增段落时,都得问一句:它是否承载一个独立观点?如果答案是否定的,那它大概率不该是一个 <p> —— 而该被合并、拆解,或换成 <blockquote>、<ul> 等更贴切的语义标签。



















