我正在寻找一种跨浏览器的方式来包装具有预定宽度的div内部没有间隔空格(例如长URL)的长文本部分.
以下是我在网络上发现的一些解决方案以及它们为什么不适合我:
看起来很有希望但不完全存在的事情:
有没有人对如何解决这个问题有更多的想法?
sup*_*cal 35
Css哟!
.wordwrap {
    white-space: pre-wrap; /* css-3 */
    white-space: -moz-pre-wrap; /* Mozilla, since 1999 */
    white-space: -pre-wrap; /* Opera 4-6 */
    white-space: -o-pre-wrap; /* Opera 7 */
    word-wrap: break-word; /* Internet Explorer 5.5+ */ 
}
我刚刚发现这篇文章 http://www.impressivewebs.com/word-wrap-css3/
所以你应该使用
.wordwrap {  
    word-wrap: break-word;
}  
.no_wordwrap {  
    word-wrap: normal;
}  
Owe*_*wen 28
我通常使用word-wrap和<wbr>想法的组合来处理这个问题.请注意,有一些变种.正如您所看到的,​可能是兼容性的最佳选择.
word-wrap浏览器支持并不可怕,考虑到所有因素,Safari,Internet Explorer和Firefox 3.1(Alpha Build)都支持它(src),所以我们可能不是那么遥远.
关于服务器端的破坏,我已经非常成功地使用了这个方法(php):
function _wordwrap($text)   {
    $split = explode(" ", $text);
    foreach($split as $key=>$value)   {
        if (strlen($value) > 10)    {
            $split[$key] = chunk_split($value, 5, "​");
        }
    }
    return implode(" ", $split);
}
基本上,对于超过10个字符的单词,我将它们分成5个字符.这似乎适用于我已经交过的所有用例.
这里有一个松散相关的问题,100% 宽度的 textarea 会忽略 IE7 中父元素的宽度
不知道是否找到了任何决定性的解决方案,但似乎最接近的是word-break:break-all,它可能在 Internet Exploder 中完成工作。
我还发现这个http://petesbloggerama.blogspot.com/2007/02/firefox-ie-word-wrap-word-break-tables.html埋在我的书签中,这表明大多数其他浏览器的解决方法,这可能帮助。
如果 CSS3 出现的话,那就太棒了……
希望有帮助,有兴趣看看你想出什么。抱歉,我无法提供任何经过测试或更具体的内容。