word-wrap,word-break,white-space,text-overflow的区别和用法

在div中,文本布局经常出现,换行混乱的情况。上面的这几个css属性功能能帮我们解决这类的问题。

问题表现:1.如果是全英文字符串,中间不包含任何符号(包括空格),不自动换行.
                 2.中英文混写,则在英文字符串的开始处换行(英文长度>div长度),结尾处不换行。
                 3.英文整个单词换行。等等,可能还有一些问题,这里只列出了常见的几个;

介绍上面几个css属性功能的简单用法;
word-wrap:normal    |   break-word;
              normal:默认的属性值.(允许内容顶开指定的容器边界).
              break-word:内容将在边界内换行(有一些文章里面说:将截断英文单词换行,这是错误的说法,此属性没有这个功能,下面的属性才具备了这个功能。)
word-break:normal    |   break-all    |    keep-all
              normal:如果是中文则到边界处的汉字换行,如果是英文整个词换行,注意:如果出现某个英文字符串长度超过边界,则后面的部分将撑开边框,如果边框为固定属性,则后面部分将无法显示.
             break-all : 强行换行,将截断英文单词
             keep-all :  不允许字断开。如果是中文将把前后标点符号内的一个汉字短语整个换行,英文单词也整个换行,注意:如果出现某个英文.字符串长度超过边界,则后面的部分将撑开边框,如果边框为固定属性,则后面部分将无法显示.
text-overflow:ellipsis    超过width部分就强制用...表示未完;
white-space: nowrap     让内容不折行
(层中放一个表格,如果层的float:none  则表格和层间会有空隙,这种问题的解决办法是在层的style里面加上white-space: nowrap

使用方式:

一般情况下:
.body{
       word-wrap:break-word;
       word-break:keep-all;
       overflow:hidden;
}

.css{
      text-overflow:ellipsis;
      white-space:nowrap;
      overflow:hidden;
}

你可能感兴趣的:(word-break)