【CSS】文本换行的几个属性

Nov 01 2015 前端

word-wrap:normal | break-word; (内容换行)

word-break:normal | break-all | keep-all (词内换行)

参数:
normal : 依照亚洲语言和非亚洲语言的文本规则,允许在字内换行
break-all : 该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本

keep-all : 与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本。

说明:
设置或检索对象内文本的字内换行行为。尤其在出现多种语言时。对于中文,应该使用break-all 。对应的脚本特性为wordBreak。

text-overflow:clip | ellipsis (文本溢出)

white-space: normal | pre | nowrap (内容不换行)


例子:
让文本单行显示,并在溢出时,显示省略标记:

white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;

生成效果如下:

图0.png

另一个腾讯NBA官网的例子(看NBA视频无意间发现的…)

图1.jpg
在这里,腾讯用了上述的三个属性

white-spacenowrap;
word-breakkeep-all;
overflowhidden;

  这里的文本只能单行显示,多余的文本将被截断。其实word-break:keep-all这行在这里是多余的,它的作用是控制所有字不能断开,但在后面加上overflow:hidden后依然会截断超出盒子宽度的文字。
  我把其中一行文本替换为一段英文,可以发现英文单词依然被直接截断。
图2.png

CSS