如何在使用CSS中打破长单词?

时间:2010-07-28 04:13:56

标签: html css xhtml

td table我有一个很长的单词“ Pneumonoultramicroscopicsilicovolcanoconiosis ”,我想减少table的宽度,但无法因为td中的一个长字,我可以通过给<br />打破这个词但是有任何CSS方法可以根据可用空间来破解这个词。不提供换行符或编辑HTML中的任何内容。

8 个答案:

答案 0 :(得分:28)

尝试以下方法:

word-wrap: break-word;
white-space: normal;

自动换行是css3(但它适用于IE)。但是,您可能无法在旧浏览器中使用它。

答案 1 :(得分:14)

以下适用于我:

    word-wrap: break-word;
    word-break: break-all;
    white-space: normal;

答案 2 :(得分:7)

如果没有任何空格,请尝试使用以下代码作为中断词。

word-wrap: break-word;
word-break: break-all;

答案 3 :(得分:5)

td span{display:block;width:your_max_width_here.px}

<td><span>Pneumonoultramicroscopicsilicovolcanoconiosis</span></td>

答案 4 :(得分:4)

试试我的代码 -

使用表正文

table>tbody>tr>th{
    word-wrap: break-word;
    word-break: break-all;
    white-space: normal;
}

没有表体

table>tr>th{
    word-wrap: break-word;
    word-break: break-all;
    white-space: normal;
}

答案 5 :(得分:4)

我尝试了在这里和其他页面中找到的不同解决方案组合,但它从来没有像我预期的那样工作 - 即使它们在下面的行上有空格而且它看起来很傻,所以短语被分开了。

最后我发现了这个妥协:

table {
    table-layout: fixed;
    overflow-wrap: break-word;
    word-wrap: break-word; /* IE */
}

如果你想平等对待你的行,那么效果最好。

答案 6 :(得分:1)

以下代码应该有效;

td {word-break: break-all}

答案 7 :(得分:0)

我发现当你在单元格中混合了一些内容时,一些长单词与其他短词混合在一起,word-break: break-word;效果最好。它会尽可能在空白处打破。虽然在IE11中似乎不支持这一点。如果你将break-all设置为任何一个提到的属性,它将始终在一个单词中断(除非它有幸在一个空格中)。