我一直在使用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中断。我尝试了以下添加文本换行:抑制和文本换行:正常的建议,但都没用。
工作区,使用溢出包装和工作正常表布局+表宽度100%
https://jsfiddle.net/krf0v6pw/
HTML
<table>
<tr>
<td class="overflow-wrap-hack">
<div class="content">
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
</div>
</td>
</tr>
</table>
CSS
.content{
word-wrap:break-word; /*old browsers*/
overflow-wrap:break-word;
}
table{
width:100%; /*must be set (to any value)*/
}
.overflow-wrap-hack{
max-width:1px;
}
好处:
使用overflow-wrap:break-word而不是word-break:break-all。这样比较好,因为它首先尝试中断空格,只有当单词比它的容器大时才切断单词。
没有表格布局:需要修正。使用常规的自动调整大小。
不需要以像素为单位定义固定宽度或固定max-width。如果需要,定义父节点的%。
在FF57, Chrome62, IE11, Safari11测试
在IE 8和Chrome 13中测试。
<table style="table-layout: fixed; width: 100%">
<tr>
<td>
<div style="word-wrap: break-word;">
longtexthere
</div>
</td>
<td><span style="display: inline;">Foo</span></td>
</tr>
</table>
这使得表格适合页面的宽度,每一列占用50%的宽度。
如果您希望第一列占据页面的更多空间,可以添加一个宽度:td的80%,如下例所示,将80%替换为您选择的百分比。
<table style="table-layout: fixed; width: 100%">
<tr>
<td style="width:80%">
<div style="word-wrap: break-word;">
longtexthere
</div>
</td>
<td><span style="display: inline;">Foo</span></td>
</tr>
</table>
风格= "表布局:固定;宽度:98%;自动换行:break-word”
<table bgcolor="white" id="dis" style="table-layout:fixed; width:98%; word-wrap:break-word" border="0" cellpadding="5" cellspacing="0" bordercolordark="white" bordercolorlight="white" >
演示- http://jsfiddle.net/Ne4BR/749/
这对我来说很有效。我有很长的链接,会导致在web浏览器上的表超过100%。
在IE, Chrome, Android和Safari上测试。