18

这就是我所拥有的:

<td style='width:500px; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;'>

4

4 回答 4

36

我用了:

word-wrap: break-word;
word-break: break-all;
table-layout: fixed;

table-layout: fixed是让它发挥作用的关键。

于 2012-07-10T23:53:25.000 回答
15

我认为这个解决方案会帮助你!

pre {
    white-space: pre;           /* CSS 2.0 */
    white-space: pre-wrap;      /* CSS 2.1 */
    white-space: pre-line;      /* CSS 3.0 */
    white-space: -pre-wrap;     /* Opera 4-6 */
    white-space: -o-pre-wrap;   /* Opera 7 */
    white-space: -moz-pre-wrap; /* Mozilla */
    white-space: -hp-pre-wrap;  /* HP Printers */
    word-wrap: break-word;      /* IE 5+ */
}

http://perishablepress.com/press/2010/06/01/wrapping-content/


// 编辑

自从这被接受为最佳答案并且需要更新以来已经很长时间了。请参阅下面的@benhowdle89 和@Steve 的答案。

因此,当前的浏览器支持现在足以使用word-break,以便允许将单词分成多行。

word-break: break-all

http://caniuse.com/#feat=word-break

于 2011-09-02T14:39:20.810 回答
14
word-break: break-word;

这就是你想要的

于 2011-09-02T14:37:54.133 回答
4

所有你需要的是

word-break:break-all

这适用于Chrome 4+、IE 5.5+、FF 15+、Safari 3.1+ 和 Opera 15+

于 2015-04-24T18:03:01.360 回答