`
shuai1234
  • 浏览: 972166 次
  • 性别: Icon_minigender_1
  • 来自: 山西
社区版块
存档分类
最新评论

CSS控制文本内容换行

    博客分类:
  • css
 
阅读更多

 
在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控制文本自动换行的问题

    CSS控制文本自动换行的问题 在网页设计中,CSS控制文本自动换行的问题是一个常见的问题,尤其是在使用表格进行网页排版的时候。当我们遇到一段连续的英文词或者一堆感叹号(!!!)时,网页就会被撑开,影响网页的...

    CSS中的强制换行与强制不换行

    良好的文本换行不仅可以使页面看起来更加整洁美观,还能够提高用户的阅读体验。CSS(层叠样式表)提供了多种方式来控制文本的换行行为,包括强制换行和强制不换行两种常见需求。 #### 强制不换行:`nowrap` 当需要...

    通过css样式控制单元格内超长文本自动换行.doc

    今天,我们将讨论如何使用 CSS 样式控制单元格内超长文本自动换行,并解决浏览器兼容问题。 单元格自动换行问题是 Web 开发中常见的问题,特别是在表格中显示大量文字时,超长文本可能会溢出单元格,影响页面的美观...

    文本换行-截断CSS

    CSS文本换行截断是指在网页设计中对文本进行截断和换行的处理,通常用于标题、描述、注释等文本内容。文本换行截断可以分为单行文本截断和多行文本截断两种,分别使用不同的CSS属性和技术实现。 单行文本截断 单行...

    css 自动换行 强制换行属性 (firefox+ie)

    总之,`word-wrap` 和 `word-break` 是CSS中处理文本换行的关键属性,它们可以帮助我们有效地控制内容在不同容器内的显示方式,避免页面变形,提高用户体验。在编写CSS时,要考虑到各种可能的文本情况,并根据需要...

    CSS 文字自动换行

    为了更好地控制文本换行,CSS 提供了 `word-wrap` 和 `word-break` 这两个属性。 - **`word-wrap: break-word;`**:当单词过长无法适应容器宽度时,该单词将会被拆分到下一行显示。 - **`word-break: break-all;`**...

    flex重载Button 文本自动换行

    然而,在某些场景下,我们可能需要Button的文本内容能够自动换行,以适应不同长度的文本或保持界面的整洁。本文将详细介绍如何重载Flex的Button,实现文本自动换行的功能。 1. Flex基础 Flex是一种流行的前端布局...

    CSS 网页内容换行控制

    总结起来,CSS的`white-space`、`word-break`、`word-wrap`和`text-overflow`属性共同构成了强大的文本换行和溢出控制机制,使得设计师可以灵活地调整文本的显示效果,确保内容在各种屏幕尺寸和布局下都能保持良好的...

    CSS3文本换行word-wrap解决英文文本超过固定宽度不换行

    `word-wrap`属性主要用于控制文本是否可以在单词内部进行换行。这个属性对于处理那些过长的单词,如URL或特定的专有名词,非常有用。下面是关于`word-wrap`的详细解释: ### 1. `word-wrap`的语法 `word-wrap`属性...

    表格自动换行主义CSS属性

    在网页设计和开发过程中,为了更好地控制表格布局和文本显示效果,使用CSS来实现表格内的文本自动换行是一项非常实用的技术。标题中的“表格自动换行主义CSS属性”意在强调通过CSS来实现表格内文本自动换行的能力。 ...

    CSS控制文本超出指定宽度显示省略号和文本不换行效果的实现

    在本篇文档中,我们将深入学习如何使用CSS控制文本的显示方式,具体来说是如何实现当文本超出指定宽度时,在文本的末尾显示省略号,并且文本不换行。这种效果在网页设计中非常常见,它能够帮助我们优雅地处理那些...

    文本框自动换行

    在许多应用场景中,例如聊天应用、编辑器或表单填写,我们需要实现文本框的自动换行功能,使得当用户输入的字符超过一行的宽度时,文本能够自动跳转到下一行,就像微信的输入框那样。这个特性对于提升用户体验至关...

    CSS实现不换行/自动换行/文本超出隐藏显示省略号

    CSS实现不换行/自动换行/文本超出隐藏显示省略号;自动换行,强制不换行,单行文本不换行多余文本显示省略号,第n行显示省略号,亲测有效。

    CSS自动换行

    以上介绍的自动换行策略覆盖了从基本的文本换行到复杂布局中的自动调整,通过合理选择和组合这些CSS属性,开发者可以轻松应对不同场景下的自动换行需求,同时确保页面在各种浏览器中都能呈现出一致且美观的效果。...

    css控制文字自动换行的实现方法

    以上内容详细介绍了CSS中关于如何控制文字自动换行的几种实现方法,这在网页布局和排版中非常关键,能够帮助开发者更加精确地控制页面的显示效果,提升用户体验。在实际应用中,需要结合不同浏览器的兼容性来选择...

    通过CSS让TD自动换行

    但如果指定了td的宽度,一旦内容超过这个宽度,浏览器会自动忽略nowrap属性,使文本换行以适应设定的宽度。 为了使TD在内容过长时自动换行,我们可以利用CSS的`word-break`属性。`word-break`属性允许我们在特定...

    css控制文本实现越界省略号以及自动换行

    在CSS(层叠样式表)中,控制文本的显示方式是一项重要的任务,特别是当文本内容过多,需要在有限的空间内展示时。本篇将详细解释如何利用CSS实现文本的越界省略号显示以及自动换行。 首先,我们来看如何实现越界...

    对于div,p等块级元素css如何实现自动换行

    此时,我们可以使用CSS的word-wrap和word-break属性来强制文本换行。 word-wrap属性在IE浏览器中有专门的支持,其值可以设置为break-word,用来确保长单词或URL也能被适当地拆分并换行。而word-break属性则可以设置...

Global site tag (gtag.js) - Google Analytics