我知道Internet Explorer有一个word-wrap样式,但我想知道是否有一种跨浏览器的方法来实现div中文本的自动换行。
最好使用CSS,但JavaScript片段也可以。
我指的是很长的字符串。
通过阅读原始评论,rutherford正在寻找一种跨浏览器的方法来包装未中断的文本(可以从他对IE使用word-wrap进行推断,该属性用于打断未中断字符串)。
/* 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中进行过测试)
word-wrap: break-word
是实际起作用的。 - user545424之前的大部分答案在Firefox 38.0.5上对我没用。而这个方法成功了...
<div style='padding: 3px; width: 130px; word-break: break-all; word-wrap: break-word;'>
// Content goes here
</div>
文档:
Aaron Bennet的解决方案对我非常有效,但是我不得不从他的代码中删除这一行 --> 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 */
}
非常感谢您
thisIsAreallyLongStringThatIWantTo<span></span>BreakToFitInsideAGivenSpace
这并不是完全准确的,因为存在字体大小等问题。如果容器的大小是可变的,那么可以使用 span 选项。如果容器是固定宽度的,您可以直接插入换行符。