` 添加 `display: block` 并设置 `max-width` 的思路,方向完全正确;但仅凭 `display: block` 并不能让段落块自动居中——块级元素默认占据整行宽度,`text-align: center` 仅能控制内部文本的水平排列,无法影响块本身的位置。
真正的解决方案是使用自动外边距(`margin: auto`)。具体原理是:当块级元素拥有明确的宽度上下文(例如设置了 `width` 或 `max-width`)时,`margin-left: auto` 和 `margin-right: auto` 会协同工作,将元素在父容器中水平居中。
直接上代码:
```css
p {
display: block; /* 显式写出来也行,增强可读性 */
max-width: 60%; /* 限制宽度,长段落读起来舒服 */
margin: 0 auto; /* 关键:左右外边距自动分配,居中搞定 */
text-align: left; /* 可选:保持文字左对齐,更符合阅读习惯 */
}
```
同时建议优化 HTML 里那些冗余的 `
` 换行——不仅破坏语义,对响应式也不友好。用 CSS 统一控制段落间距更干净:
```css
p {
margin: 1.5rem 0; /* 统一上下间距,替换多余的
*/
}
```
这里有几个关键点需要注意:
- `margin: auto` 生效的前提是元素有明确的宽度上下文(比如 `max-width`、`width` 或变成 `inline-block`),纯 `display: block` 没设宽度上限时没用;
- 别对 `
` 用 `position: absolute` 或类似 absolute-center 的方案,那会脱离文档流,造成重叠、响应失效,还会惹出可访问性问题; - 如果父容器(像 `.col-md-12`)本身没居中,或者掺杂了浮动、弹性布局干扰,得先检查一下它对子元素居中的影响; - 标题 `
