您的位置:首页 > 其它

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

2016-03-21 11:03 295 查看

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

2011-05-26 08:46:39| 分类: CSS与DIV
| 标签: |举报 |字号大中小 订阅

在div中,文本布局经常出现,换行混乱的情况。
问题表现:
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 :
不允许字断开。如果是中文将把前后标点符号内的一个汉字短语整个换行,英文单

词也整个换行,注意:如果出现某个英文.字符串长度超过边界,则后面的部分将撑开边框,如果边框为

固定属性,则后面部分将无法显示.
参数:
normal :
 依照亚洲语言和非亚洲语言的文本规则,允许在字内换行
break-all :
 该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适

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

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

对应的脚本特性为wordBreak。

示例:
div {word-break : break-all; }

div里文本将整齐显示

text-overflow:clip | ellipsis
(文本溢出)
clip :  不显示省略标记(...),而是简单的裁切
ellipsis :
 当对象内文本溢出时(超过width部分)显示省略标记(...)

white-space[/b]: normal | pre | nowrap
(内容不换行)
normal 默认。空白会被浏览器忽略。
pre 空白会被浏览器保留。其行为方式类似 HTML 中的 <pre>
标签。
nowrap 文本不会换行,文本会在在同一行上继续,直到遇到 <br> 标签为止。

(层中放一个表格,如果层的float:none 则表格和层间会有空隙,这种问题的解决办法是在层的

style里面加上white-space: nowrap)

使用方式: word-break:break-all;

一般情况下:
.body{
word-wrap:break-word;

word-break:keep-all;
overflow:hidden;
}

.css{
text-overflow:ellipsis;

white-space:nowrap;
overflow:hidden;
}

IE与Firefox将它看成是一个长单词了,因此不会自动换行。

对于IE,可以通过IE专有的CSS属性word-wrap即可实现自动换行:word-wrap:break-word;

对于Firefox,CSS2标准并没有定义类似word-wrap的属性,可以通过overflow属性将撑出的部分隐

藏:overflow:hidden
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: