有没有办法在div中包装长单词?

时间:2009-10-28 16:01:21

标签: css html word-wrap

我知道Internet Explorer有一个自动换行的样式,但我想知道是否有跨浏览器的方法可以在div中进行文本处理。

最好是CSS但JavaScript代码段也可以正常使用。

编辑:是的,指的是长串,欢呼伙计们!

6 个答案:

答案 0 :(得分:304)

阅读原始评论,rutherford正在寻找一种跨浏览器方式来包装完整文本(通过使用IE的自动换行来推断,旨在打破不间断的字符串)。

/* Source: http://snipplr.com/view/10979/css-cross-browser-word-wrap */
.wordwrap { 
   white-space: pre-wrap;      /* CSS3 */   
   white-space: -moz-pre-wrap; /* Firefox */    
   white-space: -pre-wrap;     /* Opera <7 */   
   white-space: -o-pre-wrap;   /* Opera 7 */    
   word-wrap: break-word;      /* IE */
}

我现在已经习惯了这个课程,并且像魅力一样。 (注意:我只在FireFox和IE中测试过)

答案 1 :(得分:31)

以前的大多数答案在Firefox 38.0.5中对我不起作用。这确实......

<div style='padding: 3px; width: 130px; word-break: break-all; word-wrap: break-word;'>
    // Content goes here
</div>

文档:

答案 2 :(得分:14)

white-space: pre-wrap

quirksmode.org/css/whitespace.html

答案 3 :(得分:11)

Aaron Bennet的解决方案对我来说非常合适,但我不得不从他的代码中删除这一行 - &gt; white-space: -pre-wrap;因为它发出错误,所以最终的工作代码如下:

.wordwrap { 
   white-space: pre-wrap;      /* CSS3 */   
   white-space: -moz-pre-wrap; /* Firefox */   
   white-space: -o-pre-wrap;   /* Opera 7 */    
   word-wrap: break-word;      /* IE */
}

非常感谢

答案 4 :(得分:0)

正如大卫提到的那样,DIV默认 包装单词。

如果你指的是没有空格的很长的文本字符串,我所做的就是处理字符串服务器端并插入空跨度:

thisIsAreallyLongStringThatIWantTo<span></span>BreakToFitInsideAGivenSpace

这并不准确,因为字体大小等存在问题。如果容器的大小可变,则span选项有效。如果它是一个固定宽度的容器,你可以继续插入换行符。

答案 5 :(得分:0)

您可以尝试指定div的宽度,无论是像素,百分比还是ems,此时div将保持该宽度,文本将自动换行然后在div中。