CSS-文本换行处理-white-space

本文详细介绍了CSS white-space属性的不同设置(normal、pre、nowrap、pre-wrap、pre-line),展示了如何控制文本的换行、空白保留和合并,适合前端开发者理解和应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介:

本文主要介绍通过设置CSS的white-space属性来处理元素内的空白、空白符,以实现文本的不换行、自动换行、空白保留或合并。
详情参考:https://timor419.github.io/2021/04/07/CSS-white-space/

这边先列一下white-space可以设置的值,及其作用:
在这里插入图片描述

一、white-space: normal;

作用:默认,换行、多个空格最多展示为一个空格,多余空格会被浏览器忽略。

示例1
HTML
<div class="normal">这是一些文本。这是一些文本。这是一些文本。</div>

在这里插入图片描述

示例2
HTML
<div class="normal">
这是一些文本。
这是一些文本。
这是一些文本。
</div>
运行结果:

在这里插入图片描述

示例3

为字符串text = “这是接口返回字符串。\n这是接口返回字符串。\n这是接口返回字符串。”

HTML
<div class="normal">{{text}}</div>

在这里插入图片描述


二、white-space: pre

作用:空白会被浏览器保留。其行为方式类似 HTML 中的 <pre>标签。

示例1
HTML
<div class="pre">
    这是一些文本。
    这是一些文本。
    这是一些文本。
</div>
运行结果:

在这里插入图片描述

示例2

为字符串text = “这是接口返回字符串。\n这是接口返回字符串。\n这是接口返回字符串。”

HTML
<div class="pre">{{text}}</div>
运行结果:

在这里插入图片描述


三、white-space: nowrap;

作用:文本不会换行,文本会在在同一行上继续,直到遇到 <br>标签为止。

示例1
HTML
<div class="nowrap">这是一些文本。这是一些文本。
这是一些文本。</div>
运行结果:

在这里插入图片描述

示例2
HTML
<div class="nowrap">
这是一些文本。这是一些文本。<br/>
这是一些文本。
</div>
运行结果:

在这里插入图片描述

示例3

为字符串text =“这是接口返回字符串。\n这是接口返回字符串。
这是接口返回字符串。”

HTML
<div class="nowrap">{{text}}</div>
运行结果:

在这里插入图片描述


四、white-space: pre-wrap;

作用:保留空白符序列,但是正常地进行换行。

示例1
HTML
<div class="pre-wrap">这是一些文本。这是一些文本。这是一些文本。</div>
运行结果:

在这里插入图片描述

示例2
HTML
<div class="pre-wrap">这是一些文本。这是一些文本。<br/>这是一些文本。</div>
运行结果:

在这里插入图片描述

示例3

为字符串text =“这是接口返回字符串。\n这是接口返回字符串。
这是接口返回字符串。”

HTML
<div class="pre-wrap">{{text}}</div>
运行结果:

在这里插入图片描述


五、white-space: pre-line;

作用:合并空白符序列,但是保留换行符。

示例1
HTML
<div class="pre-line">
这是一些文本。          这是一些文本。
这是一些文本。
</div>
运行结果:

在这里插入图片描述

示例2
HTML
<div class="pre-line">这是一些文本。          这是一些文本。<br/>这是一些文本。</div>
运行结果:

在这里插入图片描述

示例3

为字符串text =“这是接口返回字符串。\n这是接口返回字符串。
这是接口返回字符串。”

HTML
<div class="pre-line">{{text}}</div>
运行结果:

在这里插入图片描述


六、white-space: inherit;

作用:规定应该从父元素继承 white-space 属性的值。

示例1
HTML
<div class="inherit">
这是一些文本。          这是一些文本。
这是一些文本。
</div>
运行结果:

在这里插入图片描述

示例2
HTML
<div class="inherit">这是一些文本。          这是一些文本。<br/>这是一些文本。</div>
运行结果:

在这里插入图片描述

示例3

为字符串text =“这是接口返回字符串。\n这是接口返回字符串。
这是接口返回字符串。”

HTML
<div class="inherit">{{text}}</div>
运行结果:

在这里插入图片描述

------------- The End -------------

许可协议: 转载请保留原文链接及作者。

### CSS `white-space` 属性与换行行为 CSS中的 `white-space` 属性用于指定如何处理元素内的空白符以及是否应该折叠这些空白字符,这直接影响到文本换行方式[^1]。 不同的 `white-space` 值会影响文本在遇到空格、制表符和其他空白字符时的行为: - **normal**: 序列中的空白会被浏览器缩减为一个空格。文本会在必要时自动换行,这是默认值。 - **nowrap**: 序列中的空白会被缩减为空格,但是文本永远不会换行,除非遇到了 `<br>` 标签。 - **pre**: 白色空间会被保留,就像在预格式化文本中一样;只有当遇到换行符才会发生换行操作。 - **pre-wrap**: 保留白色空间的同时允许文本在单词边界处断开并换行- **pre-line**: 将序列中的空白缩减为空格,但在换行符位置会强制换行。 下面是一个简单的例子展示不同 `white-space` 设置的效果: ```html <div style="border:1px solid black;width:200px;"> <p style="white-space:normal;">这段话使用 normal。</p> <p style="white-space:nowrap;">这段话使用 nowrap。</p> <p style="white-space:pre;">这段话使用 pre。</p> <p style="white-space:pre-wrap;">这段话使用 pre-wrap。</p> <p style="white-space:pre-line;">这段话使用 pre-line。</p> </div> ``` 通过上述代码片段可以观察到,在设置了不同的 `white-space` 后,各个段落对于内部空白的不同处理方法及其对换行方向产生的影响[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值