HTML中连续空格会被浏览器自动合并为一个,需用 实现不换行空格或white-space CSS属性保留原始空白格式。
浏览器默认把连续多个 或普通空格( )压缩成一个,所以直接敲空格键、复制多个空格、甚至用空格符粘贴,最终页面只显示一个。
这是 HTML 的渲染规则,不是 bug,也不需要“修复”,但得按它的逻辑来应对。
手动插入不合并的空格 是 HTML 实体,代表“不间断空格”(non-breaking space),浏览器不会把它和其他空格合并,也不会在行尾换行时拆开它。
是字符,会参与文本流,可能影响 white-space 计算或光标位置 堆一起既难读又难维护white-space CSS 控制整块区域的空格行为当需要保留原始空格格式(比如代码片段、诗歌排版、日志输出),应该用 CSS 的 white-space 属性,而不是堆 。
常见取值和效果:
white-space: pre; —— 像 标签一样,保留空格、换行、制表符,但不自动换行white-space: pre-wrap; —— 保留空格和换行,同时允许长行自动折行(最常用)white-space: pre-line; —— 合并连续空格,但保留换行符示例:
这里有两个前导空格 这里有四个空格,还有换行
标签硬
默认使用等宽字体、保留所有空白,适合代码或终端输出,但不适合正文段落。
,改用 white-space: pre-wrap 更可控 会影响字体、行高、内外边距,容易破坏整体排版一致性 内容常因宽度溢出导致横向滚动,而 pre-wrap 能正常折行真正要打多个空格,优先想清楚:是临时微调?还是语义上需要保留空白?前者用 ,后者用 CSS。混用或硬塞空格字符,后期改起来最头疼。
来电咨询