5

也许这是不可能的,但我想知道是否有一种方法可以在断词之前自动将连字符插入到没有空格的长字符串的末尾?这个 jsfiddle演示了我遇到的问题。谢谢你。

table {
        width:200px; 
        word-wrap:break-word;
        table-layout: fixed;
      }

<table>
  <td>Pneumonoultramicroscopicsilicovolcanoconiosis</td>
</table>
4

3 回答 3

4

我认为你最好的选择是一个 javascript 解决方案。

  • 我认为 css3 中有一个hyphens属性,它并不能完全满足您的要求(至少不是在所有浏览器中),但可能很有趣,您可以在此处此处阅读。

  • 或者在这里他们也讨论了一下并提到了一个javascript插件 连字符wordwrap a very long string

希望有些帮助。

于 2013-05-11T15:03:54.413 回答
3

对于 webkit 浏览器,这应该可以工作:

table 
{
   width: 200px;
   word-break: break-word;
   -webkit-hyphens: auto;
}

这适用于 iOS Chrome,但不适用于 OS X Chrome。 这篇博文解释了其他浏览器的解决方案,尽管它在 OS X Chrome 上仍然对我不起作用。

那里显示的解决方案是:

table 
{
   -ms-word-break: break-all;
   word-break: break-all;

   // Non standard for webkit
   word-break: break-word;

   -webkit-hyphens: auto;
   -moz-hyphens: auto;
   hyphens: auto;
}

如果这在您需要的浏览器中不起作用,请查看hyphenator - 一个 javascript 实用程序,可以更好地满足您的需求。

于 2013-05-11T15:16:18.483 回答
1

请看这个小提琴,可能是工作。

`http://jsfiddle.net/76qBy/`
于 2013-05-11T15:52:51.470 回答