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

我知道Internet Explorer有一个单词包装风格,但我想知道是否有一个跨浏览器方法这样做的文本在一个div。

最好CSS但JavaScript片段也可以。

编辑:是的,指长string,欢呼的人!

阅读最初的评论,rutherford正在寻找一个跨浏览器的方式来包装完整的文本(通过使用IE浏览器,用于打破不间断的string)。

/* 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中testing过)

大多数以前的答案在Firefox 38.0.5中对我来说并不适用。 这样做…

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

文档:

  • 字断
  • 自动换行
 white-space: pre-wrap 

quirksmode.org/css/whitespace.html

Aaron Bennet的解决scheme对我来说是完美的,但是我不得不从他的代码中删除这一行 – > 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 */ } 

非常感谢你

正如大卫所言,DIV默认包装单词。

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

 thisIsAreallyLongStringThatIWantTo<span></span>BreakToFitInsideAGivenSpace 

这是不正确的,因为有字体大小等问题。 如果容器大小可变,span选项就可以工作。 如果是固定宽度的容器,则可以继续并插入换行符。

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