CSS 文字溢出 text-overflow,word-break,word-wrap,white-space

这篇博客详细介绍了CSS中控制文本溢出和断行的四个关键属性:text-overflow、word-break、word-wrap和white-space。通过实例演示了它们的不同效果,包括单词断行、长单词处理、空白处理以及文本溢出时的显示策略。读者将了解到如何根据需求选择合适的属性来优化文本布局。

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

1. 单词断行

1.1 什么是单词(word)

英文的单词我们都知道,空格分开的都是一个个单词,中文的单词在浏览器中指的一个字。

下面是一个浏览器判定单词的例子:

中文 		//2 个单词
Hello world //2 个单词
Helloworld	//1 个单词

1.2 默认断行效果

当父容器无法在一行内容纳文字时,浏览器会考虑断行。

  • 中文从单词之间断行
    在这里插入图片描述
  • 英文从单词之间断行
    在这里插入图片描述
  • 超长英文单词不断行
    在这里插入图片描述
  • 连字符之间断行
    在这里插入图片描述
  • URL网址不断行
    在这里插入图片描述

2. word-wrap 和 word-break

word-wrap

描述
normal只在允许的断字点换行(浏览器保持默认处理)。
break-word在长单词或 URL 地址内部进行换行。

word-break

描述
normal使用浏览器默认的换行规则。
break-all允许在单词内换行。
keep-all只能在半角空格或连字符处换行。

word-wrapword-break 都用来指定文字发生溢出时是否换行。
不同的是,
word-wrap 指定的是浏览器换行处理过程,遇到一个 word 超长,对文本已经换行了,但是仍然溢出,这时是否允许浏览器在单词内断句。
word-break 指定的是单词内的断句方式。

  • word-wrap: normal
    在这里插入图片描述
    正常状态下,长单词没有被断句。但是另起了一行。

  • word-wrap: break-word
    在这里插入图片描述
    设置换行时允许断句后,单词断句了。

  • word-break: break-all
    在这里插入图片描述
    设置单词断句后,长单词没有另起一行,比 word-wrap 暴力。
    在线示例

3. white-space

white-space 属性设置如何处理元素内的空白

描述
normal默认。连续的空白符会被合并
pre连续的空白符会被保留。其行为方式类似 HTML 中的
 标签。
nowrap连续的空白符会被合并,文本内的换行符被忽略,直到遇到
标签为止。
pre-wrap连续的空白符会被保留,文本内的换行符有效。
pre-line连续的空白符会被合并,但是保留换行符。
inherit规定应该从父元素继承 white-space 属性的值。

在上面的例子中 word-break: break-all ,添加 white-space:nowrap ,可以看到没有换行了。所以white-sapceword-break 更暴力。
在这里插入图片描述
在线示例

4. text-verflow

text-overflow 用来设置文本溢出,并且不显示的情况下,该怎样展示给用户。
常用来设置文本溢出显示省略号。

请注意这里的文本溢出,并且不显示的情况。如果文本折行了,或者设置了 over-flow:visible,那么 text-overflow 将不生效。

描述
clip修剪文本。
ellipsis显示省略符号来代表被修剪的文本。
string使用给定的字符串来代表被修剪的文本。(兼容性有问题)

这是三种值对应的运行结果,其中自定义省略字符在 chrome 中不被支持
在这里插入图片描述

在线示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值