我一直在使用word-wrap: break-word在div和span中对文本进行换行。然而,它似乎在表格单元格中不起作用。我有一个设置为width:100%的表,有一行和两列。列中的文本虽然使用了上面的换行样式,但不能自动换行。它会导致文本超出单元格的边界。这发生在Firefox,谷歌Chrome和Internet Explorer上。

下面是源代码的样子:

td { 边框:1px实体; L} <table style="width: 100%;"> < tr > < td > < span style=" font - family:宋体;"> Looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong词 < / div > 道明> < / <span style=" font - family:宋体;">短字< / span > < / td > < / tr > 表> < /

上面的长单词比我的页面的边界大,但它没有与上面的HTML中断。我尝试了以下添加文本换行:抑制和文本换行:正常的建议,但都没用。


当前回答

我找到了一个解决方案,似乎可以在Firefox,谷歌Chrome和Internet Explorer 7-9中工作。做一个两列表格布局,长文本在一边。我到处寻找类似的问题,在一个浏览器中工作的东西破坏了另一个浏览器,或者向表中添加更多标签似乎是糟糕的编码。

我没有使用表格。DL DT DD来拯救。至少对于修复两列布局来说,这基本上是一个术语表/字典/单词含义设置。

以及一些通用样式。

dl { margin-bottom:50px; } dl dt { background:#ccc; color:#fff; float:left; font-weight:bold; margin-right:10px; padding:5px; width:100px; } dl dd { margin:2px 0; padding:5px 0; word-wrap:break-word; margin-left:120px; } <dl> <dt>test1</dt> <dd>Fusce ultricies mi nec orci tempor sit amet</dd> <dt>test2</dt> <dd>Fusce ultricies</dd> <dt>longest</dt> <dd> Loremipsumdolorsitametconsecteturadipingemipsumdolorsitametconsecteturaelit.Nulla laoreet ante et turpis vulputate condimentum. In in elit nisl. Fusce ultricies mi nec orci tempor sit amet luctus dui convallis. Fusce viverra rutrum ipsum, in sagittis eros elementum eget. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per. </dd> </dl>

使用浮动换行和左距,我得到了我所需要的。只是想把这个分享给其他人,也许它会帮助那些有两列定义风格布局的人,在文字包装方面遇到麻烦。

我尝试在表格单元格中使用换行,但它只在Internet Explorer 9中工作(当然还有Firefox和谷歌Chrome),主要是试图修复这里的Internet Explorer浏览器。

其他回答

在我的例子中,我必须同时使用换行和空白预换行来达到最佳效果。希望它能帮助到更多人。

<td class="wrap-longtext">
   long,longlonglonglonglonglonglong..................
</td>

<style>    
  .wrap-longtext
  {
    word-break: break-all;/* Use break-word, if you prefer sensible text than short width of the cell */
    white-space: pre-wrap;
  }
</style>
<p style="overflow:hidden; width:200px; word-wrap:break-word;">longtexthere<p>

这对我来说很管用:

<style type="text/css">
    td {

        /* CSS 3 */
        white-space: -o-pre-wrap;
        word-wrap: break-word;
        white-space: pre-wrap;
        white-space: -moz-pre-wrap;
        white-space: -pre-wrap;
    }

表属性为:

   table {
      table-layout: fixed;
      width: 100%
   }

</style>

我也遇到过类似的问题。我在一个AngularJS应用程序的Bootstrap模式中有一个表。当我更改表上的过滤器,并且在相关单元格中出现长值时,文本将溢出到单元格之外和模态之外。这个CSS最终解决了这个问题,应用到TD上:

style="white-space:pre-wrap; word-break:break-word"

这使得值即使在更改表内容时也能正确地换行。

只要增加宽度。这对我很管用。

     <td style="width:10%;"><strong>Item Name</strong></td>