使用 pre 标签并设置 white-space: pre-wrap 可解决 html 代码块格式错乱问题。pre 保留空格和换行,配合 code 标签增强语义,推荐样式为
pre {white-space: pre-wrap;},避免用 div 模拟或动态插入时破坏结构。

在 HTML 中插入代码块时格式错乱,通常是因为 浏览器 默认会合并空白字符(如空格和换行)。要保持原始格式,必须正确使用 pre 标签 并配合 css 的 white-space 属性。
pre 标签的作用:保留文本格式
pre 是“预格式化文本”(preformatted text)的缩写。浏览器 会按照它内部的原始排版显示内容,包括:
- 保留多个连续空格
- 保留手动换行
- 使用等宽字体显示(默认)
例如:
function hello() { console.log("Hello"); }
CSS white-space 属性控制空白处理方式
即使用了 pre,有时仍需显式设置 white-space 来确保行为一致,尤其是在自定义标签或样式被覆盖时。
立即学习 “ 前端免费学习笔记(深入)”;
常用值包括:
- white-space: pre — 保留空格和换行,但不自动换行
- white-space: pre-wrap — 保留所有空白,支持自动换行(推荐用于代码块)
- white-space: pre-line — 合并空格,保留换行
建议为代码块设置:
function hello() { console.log("Hello World"); for (let i = 0; i < 10; i++) {console.log(i); } }
避免格式错乱的最佳实践
为了让代码块稳定显示原始格式,请遵循以下做法:
- 用 pre 包裹代码,再用 code 增强语义:
<pre><code>……</code></pre> - 添加 CSS:
pre {white-space: pre-wrap;} - 避免在 HTML 中用普通 div + 换行符模拟代码格式
- 如果使用 javaScript 动态插入代码,注意不要让模板 字符串 或转义影响结构
基本上就这些。合理使用 pre 标签和 white-space 属性,就能让 HTML 中的代码块保持清晰、正确的格式。


