2026-05-01 15:47:33
CSS的white-space属性通过设置不同的值来控制文本的空白符处理与换行行为,具体如下:
normal(默认值)
合并连续的空白符(包括空格、制表符、换行符),将其视为单个空格。
允许文本在容器边界处自动换行,确保内容适应容器宽度。
适用场景:常规文本排版,无需保留原始格式时使用。
nowrap
合并所有空白符,但禁止文本自动换行,所有内容强制显示在一行内。
即使文本超出容器宽度,也不会折行,可能导致溢出(需配合overflow属性处理)。
适用场景:需要强制单行显示的标题、标签或导航菜单。
pre
保留所有空白符和换行符,功能类似HTML的<pre>标签。
文本不会自动换行,除非遇到原始换行符或容器宽度限制(部分浏览器可能强制换行)。
适用场景:展示代码、日志等需严格保留格式的内容。
pre-wrap
保留空白符和换行符,同时允许文本在必要时自动换行(如容器宽度不足时)。
结合了pre的格式保留与normal的自动换行特性。
适用场景:需要保留代码格式但避免横向滚动的场景。
pre-line
合并连续空白符(多个空格视为一个),但保留文本中的换行符。
允许自动换行,适合处理用户输入的多行文本(如评论、表单输入)。
适用场景:用户生成内容(UGC)的排版优化。
换行行为控制指南根据需求选择对应值:
与其他属性搭配增强效果
示例代码
/* 强制单行显示,溢出显示省略号 */.single-line { white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}/* 保留代码格式并自动换行 */.code-block { white-space: pre-wrap; word-break: break-word;}/* 用户评论排版:保留换行但合并空格 */.user-comment { white-space: pre-line;}总结通过灵活选择white-space的值,可精准控制文本的空白处理与换行行为。结合word-break、overflow-wrap等属性,能进一步优化排版效果,适应代码展示、用户输入、响应式设计等多样化场景。