`
java-boy
  • 浏览: 247412 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解决 IE Firefox下 字符串不能自动换行(折行)问题

    博客分类:
  • Html
阅读更多
昨天遇到了一个问题。是关于如果英文或数字字符串太长,在没有空格等分开的情况下 在网页里不能自动分行的问题(字符串会一直向右延伸,直到超出页面为止)。解决方法要求火狐和IE都要支持。 上网查了一下,查到了几个方法。现在总结一下。

首先是在网上查到了一种CSS方法,但仔细研究了一下,发现火狐不支持。方法如下:

使用 word-break:break-all;

以下是该属性其它值的详细介绍:

normal:默认值。允许在词间换行
break-all:该行为与亚洲语言的 normal 相同。也允许非亚洲语言文本行的任意字内断开。该值适合包含一些非亚洲文本的亚洲文本
keep-all:与所有非亚洲语言的 normal 相同。对于中文,韩文,日文,不允许字断开。适合包含少量亚洲文本的非亚洲文本

这个方法由于有局限性,所以我没有采用,只是列在这里。

之后找到了两种方法,可以再Firefox和IE下都工作很好。

一种是在Div下添加CSS样式。方法如下:

添加 overflow:hidden;

该方法可以使超出边界的字符串隐藏起来,避免其破坏页面。理论上这不是一种折行方法,但其可以解决这方面的问题(避免破坏页面效果)。所以也列在这里了。

最后的方法,是使用javascript编码,将字符串硬分开,使其分行。有点是可以真正的进行很行,缺点是改变字符串结构,在中间加了几个‘ ’ 空格。我觉得网上找到的方法不是很好,自己改了一下。下面是我改写的方法:

function toBreakWord(aString,intLen){
var strTemp="";
while(aString.length>intLen){
strTemp+=aString.substr(0,intLen)+" ";
aString=aString.substr(intLen,aString.length);
}
strTemp+=" "+aString;
return strTemp;
}
//if your string is not for "createTextNode" function, you should replace ' ' to 


注:本文部分引自《在MOZ(firefox)下使没有空格的英文折行》http://space.flash8.net/space/?2248/action_viewspace_itemid_367043.html
分享到:
评论

相关推荐

    firefox,IE 都兼容字符强制换行

    在HTML中,我们通常使用` `标签来插入一个换行符,但这并不适用于长字符串的自动换行。对于这种情况,我们可以利用CSS的`word-wrap`或`overflow-wrap`属性来解决。 `word-wrap`属性允许长单词或URL在不允许换行...

    html中表格td内容自动换行

    这将解决长串英文字母不能自动换行的问题和 TD 中汉字自动换行问题。 总结 在这里,我们讨论了如何使用 CSS 来控制 TD 中的换行。我们学习了强制不换行和强制换行的实现方法,并介绍了相关的属性和实例。

    js实现连续英文字符自动换行兼容ie6 ie7和firefox

    在本例中,我们要探讨的是如何使用JavaScript来实现连续英文字符在指定宽度限制下的自动换行,并确保该方案能够在不同的浏览器(包括较老的IE6和IE7,以及Firefox)中兼容运行。 在CSS中,通常可以使用`word-wrap`...

    如何实现FireFox文本自动换行

    在网页设计中,文本自动换行是一个常见的需求,特别是在处理长字符串或无法预先确定宽度的元素时。在不同的浏览器中,实现文本自动换行的方法可能会有所不同。本文将详细讲解如何在Firefox中实现文本自动换行。 一...

    兼容多浏览器,兼容 div、p、td 的强制不换行及强制换行.

    3. 如果指定了宽度的`td`中的文本含有标点或空格,则可以在`td`内部嵌套一层`div`来解决问题。 4. 综上所述,为简化处理,推荐以下CSS规则: ```css div { white-space: nowrap; } ``` 当需要兼容IE中`td`的...

    css word-break word-wrap 前台显示自动换行

    在IE下,长串英文会自动折行;而在Firefox下,内容会被遮盖。 - `word-wrap:break-word;overflow:hidden;` 是一种较好的解决方案,它能确保长串英文自动换行且不会超出容器,同时隐藏超出的部分。 - 然而,`word-...

    css 解决英文字符与阿位伯数字自动换行

    对于Firefox浏览器的一个特定问题,即连续的英文字符和阿拉伯数字的换行问题,可以尝试以下CSS样式: ```css #wrap { word-break: break-all; width: 200px; overflow: auto; } ``` 这样设置后,容器会正常显示,...

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

    这两种方法在IE浏览器中都能很好地实现强制换行的效果,但对于Firefox浏览器则有所不同。 对于Firefox浏览器,我们可以使用overflow属性来处理连续英文字符和阿拉伯数字的断行问题。通过设置overflow属性为auto或...

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

    `属性来强制断行,使得长字符串可以被拆分并在必要时换行显示。 例如: ```css #wrap { word-break: break-all; width: 200px; } ``` 而对于Firefox浏览器,该问题较为复杂。由于Firefox没有提供直接的断行控制...

    JavaScript 撑出页面文字换行

    首先,文章指出在IE浏览器中可以通过CSS属性如`word-break`来实现自动换行,但这种方法在Firefox(FF)浏览器中并不可行。因此,作者编写了一个JavaScript脚本,用于在不支持`word-break`属性的浏览器中模拟文字换行...

    CSS代码使纯英文数字自动换行的简单实现

    这个问题在IE和Firefox等浏览器中尤为明显。本文将介绍如何通过CSS来解决这个问题,使纯英文和数字在遇到容器边界时自动换行。 首先,我们要关注两个关键的CSS属性:`word-wrap` 和 `word-break`。这两个属性都是...

    让pre标签自动换行示例代码

    `:这是 `<pre>` 标签的默认值,保留所有的空白字符,不进行折行。 - `white-space: pre-wrap;`:允许在必要时进行换行,但保留空白字符,使得文本保持原格式。在大多数现代浏览器中,设置这个值可以让 `<pre>` ...

    用CSS截断字符串的两种实用方法

    CSS(层叠样式表)提供了一些方法来实现这一需求,本文将详细介绍两种实用的CSS截断字符串的方法。 方法一利用CSS的`overflow`, `text-overflow` 和 `white-space` 属性。首先,设置一个固定宽度的容器,例如300px...

    让innerText在firefox火狐和IE浏览器都能用的写法

    为了解决这个问题,我们可以利用JavaScript的特性,为Firefox重新定义`innerText`方法,使其与IE浏览器保持一致的行为。这里提供了一个JavaScript代码片段,通过检测浏览器类型来判断是否需要定义`innerText`,如果...

    css自动截取指定长度字符串,结尾显示... 支持FF浏览器

    ### CSS自动截取指定长度字符串方法及支持Firefox浏览器解析 #### 概述 在Web开发过程中,经常需要处理文本溢出的问题,特别是当容器宽度固定而内容长度不定时,合理控制文本显示,既能保证页面布局的美观又能提高...

    CSS强制性换行的方法区别详解

    在CSS布局中,有时我们需要对元素内的文本进行强制性换行,以防止长字符串或单词撑大容器。本文将详细讲解两种主要的CSS强制性换行方法:`word-break:break-all` 和 `word-wrap:break-word`,并探讨它们之间的区别。...

Global site tag (gtag.js) - Google Analytics