应使用HTML实体 或CSS的white-space属性控制空格; 用于语义明确的少量分隔,white-space:pre-wrap等更适合多语言段落排版,避免滥用 破坏断行与可访问性。
浏览器默认会把连续多个普通空格( )和换行缩进合并成一个空格,所以直接敲空格键没用。要显示多个空格,得用 HTML 实体或 CSS 控制。
是最常用的不换行空格(non-breaking space),每个 渲染为一个不可折叠的空格 (≈0.5em)、 (≈1em)是更可控的固定宽度空格,适合对齐场景 做布局——它本质是文本内容,不是样式控制手段white-space 更适合多语言段落排版多语言混排时,中日韩文字、阿拉伯文、泰文等对空格语义理解不同,硬塞 容易破坏断行逻辑和可访问性。用 CSS 控制空白行为更健壮。
white-space: pre:保留所有空格和换行,但不自动换行(类似 )white-space: pre-wrap:保留空格和换行,且允许自动换行——中文、英文混排最常用white-space: break-spaces:让空格也能作为换行点(Chrome 83+、Firefox 84+),对阿拉伯文/泰文等无空格分词语言友好空格在不同语言里不只是“看不见的字符”,它影响断行、对齐、读屏器朗读甚至 SEO。
可能阻止合理的词间断行,导致长单词溢出容器 可能意外改变光标顺序text-align: justify 时,浏览器对中日韩文字的「伸
{%-),原始空格可能被悄悄吃掉与其纠结“打几个空格”,不如明确意图:是要分隔词、对齐内容、还是控制断行?然后选对应方案。
,但仅限少量、语义明确的场景,或设 white-space: pre
white-space: pre-wrap,配合 word-break: keep-all(防中文断字)和 line-break: strict(提升日文断行精度)text-align + tabular-nums 字体特性,而不是空格填充/* 示例:多语言友好的段落样式 */
p.lang-mixed {
white-space: pre-wrap;
word-break: keep-all;
line-break: strict;
}空格适配最难的不是“怎么打”,而是判断“该不该打”。多数时候,CSS 比 HTML 实体更接近问题本质。