CSS中一些常用的文本属性整理
author:一佰互联 2019-04-21   click:166

text-overflow

概要:其作用是解决文本溢出时,其展现的形式

该属性有两个参数,分别如下:

CSS Code复制内容到剪贴板
  1. text-overflow : clip | ellipsis  

clip:不显示省略标记(....),溢出的文本会被的裁减掉。
ellipsis:文本溢出时会显示省略的标记(...),插入的位置是最后一个字符。

要使该属性起作用,还得具备以下几个条件。

    width | max-width:明确给需要截取文本的容器设置宽度值。
    white-space:nowrap:给文本容器设置强制不换行,让元素文本在一行内显示。
    overflow:hidden:设置容器文本溢出时隐藏。

word-wrap

概要:该属性可以控制换行。当属性取值break-word时,将强制换行,中文文本没有任何问题,英文语句也没问题。但是对于对于长串的英文就不起作用,也就是说,word-wrap是控制是否短词,而不是断字符

该属性有两个参数,分别如下:

CSS Code复制内容到剪贴板
  1. word-wrap: normal | break-word  

normal :默认值,浏览器只在半角空格或连字符的地方进行换行。
break-word: 将内容在边界内换行(不截断英文单词换行)。

其两者的不同点可以通过下面的对比图进行区别。

由图可知:当word-wrap值为normal时,超长的英文文本长度大于容器的宽度时会撑破容器伸展到容器的外面(IE6除外,IE6会自动拓展容器的宽度)。在设置了break-word时,长文本会自动换行,不足的是,它不会安装单词换行,可能会将一个单词截断换行。

同时,word-wrap应用在pre或者table中时,将不会起作用。


word-break

概要:属性主要针对亚洲语言和非亚洲语言进行控制换行。当属性取值break-all时,可以允许非亚洲语言文本行的任意字内断开;当属性值为keep-all时,表示在中文、韩文、日文中是不允许字断开的。

该属性的参数有三个,其值如下所示:

CSS Code复制内容到剪贴板
  1. word-break: normal | break-all | keep-all  

normal:默认值,根据语言自己的规则来确定换行方式,中文到边界上的汉字换行,英文从整个单词换行。
break-all:可以强行截断英文单词,达到词内换行效果。
keep-all:不允许字断开。如果是中文把前后标点符合内的一个汉字短语整个换行,英文单词整个换行;如果出现某个英文字符长度超过容器边界,后面的部分将撑破容器,如果边框为固定属性,则后面的部分无法显示。(PS:chrome该属性无效,但是新增break-word属性)


white-space

概要:性具有格式化文本的作用,当属性取值为nowrap时,表示强制在同意行内显示所有文本;当属性值为pre时,表示显示预定义文本格式。

该属性有以下的取值情况:

CSS Code复制内容到剪贴板
  1. whitewhite-spacenormal | pre | nowrap | pre-line | pre-wrap  

normal:默认值,空白会被浏览器忽略
pre:空白会被保留,呈现预定义文本格式
nowrap:文本不会换行,文本会在一行显示
pre-line:合并空白符序列,但保留换行符。
pre-wrap:保留空白符序列,但是正常进行换行。