转:http://www.zhiwenweb.cn/Category/Website/1086.html
CSS控制文本内容换行:word-wrap,word-break,white-space,text-overflow的区别和用法
在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 : 不允许字断开。如果是中文将把前后标点符号内的一个汉字短语整个换行,英文单词也整个换行,注意:如果出现某个英文.字符串长度超过边界,则后面的部分将撑开边框,如果边框为固定属性,则后面部分将无法显示.
text-overflow:clip | ellipsis (文本溢出)
clip : 不显示省略标记(...),而是简单的裁切
ellipsis : 当对象内文本溢出时(超过width部分)显示省略标记(...)
white-space: 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
区别分析:
word-break:break-all和word-wrap:break-word都是能使其容器如DIV的内容自动换行。它们的区别就在于:
1,word-break:break-all 例如div宽200px,它的内容就会到200px自动换行,如果该行末端有个英文单词很长(congratulation等),它会把单词截断,变成该行末端为conra(congratulation的前端部分),下一行为tulation(conguatulation)的后端部分了。
2,word-wrap:break-word 例子与上面一样,但区别就是它会把congratulation整个单词看成一个整体,如果该行末端宽度不够显示整个单词,它会自动把整个单词放到下一行,而不会把单词截断掉的。
3,word-break;break-all 支持版本:IE5以上 该行为与亚洲语言的 normal 相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本。 WORD-WRAP:break-word 支持版本:IE5.5以上 内容将在边界内换行。如果需要,词内换行( word-break )也将发生。表格自动换行,避免撑开。 word-break : normal | break-all | keep-all 参数: normal : 依照亚洲语言和非亚洲语言的文本规则,允许在字内换行 break-all : 该行为与亚洲语言的normal相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本 keep-all : 与所有非亚洲语言的normal相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本 语法: word-wrap : normal | break-word 参数: normal : 允许内容顶开指定的容器边界 break-word : 内容将在边界内换行。如果需要,词内换行(word-break)也行发生说明:设置或检索当当前行超过指定容器的边界时是否断开转行。
对应的脚本特性为wordWrap。请参阅我编写的其他书目。 语法: table-layout : auto | fixed 参数: auto : 默认的自动算法。布局将基于各单元格的内容。表格在每一单元格读取计算之后才会显示出来。速度很慢 fixed : 固定布局的算法。在这算法中,水平布局是仅仅基于表格的宽度,表格边框的宽度,单元格间距,列的宽度,而和表格内容无关说明:设置或检索表格的布局算法。对应的脚本特性为tableLayout。
个人看法:word-break 用3C检测会显示问题的,这个属性OPERA FIREFOX 浏览器也不支持。word-break属性可以用white-space:normal;来代替,这样在FireFox和IE下就都能正确换行,而且要注意,单词间的空格不能用 来代替,不然不能正确换行。
分享到:
相关推荐
为了更好地控制文本换行,CSS 提供了 `word-wrap` 和 `word-break` 这两个属性。 - **`word-wrap: break-word;`**:当单词过长无法适应容器宽度时,该单词将会被拆分到下一行显示。 - **`word-break: break-all;`**...
表格的换行可以通过调整`width`属性,或者使用CSS的`display`属性(如`table-cell`)来实现。 2. **CSS布局**:在JSP中,可以使用CSS来控制表格的样式,包括自动换行。例如,使用`word-wrap: break-word;`可以使...
我们可以看出,合理利用`table-layout`、`word-break`和`word-wrap`等CSS属性,能够有效改善表格内文本的显示效果,尤其是在需要处理大量文本数据的情况下,自动换行的功能尤为重要。这对于提升用户体验和美化页面...
今天,我们将讨论如何使用 CSS 样式控制单元格内超长文本自动换行,并解决浏览器兼容问题。 单元格自动换行问题是 Web 开发中常见的问题,特别是在表格中显示大量文字时,超长文本可能会溢出单元格,影响页面的美观...
在本篇文章中,我们讨论了 CSS 控制文本自动换行的问题,并提供了两个解决方案:`table-layout: fixed;` 和 `word-break: break-all; word-wrap: break-word;`。这些样式可以让表格中的字符自动换行,避免网页被撑开...
配合`word-break:break-all`或`word-wrap:break-word`,可以控制单元格内的文本换行。需要注意的是,如果想隐藏超出容器的内容,对于表格,`overflow:hidden`可能无效,因为表格的特殊性,此时应使用`overflow:auto`...
以上介绍的自动换行策略覆盖了从基本的文本换行到复杂布局中的自动调整,通过合理选择和组合这些CSS属性,开发者可以轻松应对不同场景下的自动换行需求,同时确保页面在各种浏览器中都能呈现出一致且美观的效果。...
在CSS布局中,自动换行是一个常见的需求,特别是在处理文本内容时。文本可能会包含各种字符类型,如连续的数字、英文字符,甚至不同语言的文字。本文主要探讨如何使用CSS来解决自动换行的问题,特别是针对IE和Fire...
今天碰到了td文字内容不换行,发现是:white-space: nowrap,即强制文本不进行换行,顺便看了一下文本换行的属性word-wrap,总结如下: white-space的默认只是normal,自动换行。 word-break:break-all和word-wrap:...
文本测试信息文本测试信息文本测试信息文本测试信息文本测试信息文本测试信息文本测试信息文本测试信息文本测试信息文本测试信息文本测试信息文本测试信息文本测试信息 </table> ``` 这将解决长串英文字母不能...
/* 禁止文本换行 */ overflow: hidden; /* 当内容超出宽度时隐藏超出部分 */ text-overflow: ellipsis; /* 当文本溢出时显示省略号 */ } ``` 这段代码创建了一个区块,其中的文本将在宽度限制内显示,且不会换行...
下面介绍的是CSS如何实现换行的方法 对于div,p等块级元素 正常文字的换行(亚洲文字和非亚洲文字)元素拥有默认的white-space:normal,当定义的宽度之后自动换行 html 复制代码代码如下: ”wrap”>正常文字的换行...
本文将深入探讨如何使用CSS实现超出文本指定宽度用省略号代替以及禁止文本换行。 1. **一般文字截断** 当我们希望文本在特定宽度后被截断并用省略号表示时,可以使用以下CSS样式: ```css .text-overflow { ...
在本篇文档中,我们将深入学习如何使用CSS控制文本的显示方式,具体来说是如何实现当文本超出指定宽度时,在文本的末尾显示省略号,并且文本不换行。这种效果在网页设计中非常常见,它能够帮助我们优雅地处理那些...
`足以处理大多数文本换行的情况。而在处理连续的英文字符和数字时,需要根据浏览器的不同使用`word-wrap`或`word-break`属性。对于表格布局,`table-layout: fixed;`属性非常有用,特别是当需要隐藏超出表格宽度的...
但如果指定了td的宽度,一旦内容超过这个宽度,浏览器会自动忽略nowrap属性,使文本换行以适应设定的宽度。 为了使TD在内容过长时自动换行,我们可以利用CSS的`word-break`属性。`word-break`属性允许我们在特定...
/* 阻止文本换行 */ overflow: hidden; /* 当内容超出单元格宽度时隐藏超出部分 */ text-overflow: ellipsis; /* 在内容超出时显示省略号 */ } ``` `white-space: nowrap`属性禁止了文本在单元格内换行,使所有...
然而,在使用这些框架处理表格(table)时,尤其是在移动端,可能会遇到一个问题:表头(thead)内容因为屏幕宽度限制而自动换行,这不仅影响了美观,也可能降低用户的阅读体验。本文将探讨如何快速解决这个问题。 ...