今天我爱模板网就遇到了,单元格内容太多,希望内容都在一行,并且超出单元格宽度,内容自动隐藏,如果换做是div,很好处理,给div加个宽度,同时应用:
white-space:nowrap; overflow:hidden; text-overflow:ellipsis;的css样式即可。但是表格不行。内容的确不换行了,但是内容会将单元格撑开。
其实,表格里面有个“table-layout”的css属性,默认值是:“automatic”,意为:列宽度由单元格内容设定。它还有个值:“fixed”,设置了这个值,单元格的宽度就由你设置的宽度决定了。给 table 加这个样式哦,td加没用。
案例css:
table{width:800px; margin:auto; border-collapse:collapse; table-layout:fixed;} td{border:2px solid #1C67C1; padding:10px; width:33.333%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}案例html:
<table> <tr> <td class="td1">方法:在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap,并且使用div (一行两列) </td> <td>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</td> <td>111111111111111111111111111111111111111111111111111111111111111111111111111111111111111</td> </tr> <tr> <td class="td1">方法:在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap,并且使用div (一行两列) </td> <td>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</td> <td>111111111111111111111111111111111111111111111111111111111111111111111111111111111111111</td> </tr> <tr> <td class="td1">方法:在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap,并且使用div (一行两列) </td> <td>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</td> <td>111111111111111111111111111111111111111111111111111111111111111111111111111111111111111</td> </tr> <tr> <td class="td1">方法:在使用百分比固定td大小情况下使用样式table-layout:fixed与nowrap,并且使用div (一行两列) </td> <td>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</td> <td>111111111111111111111111111111111111111111111111111111111111111111111111111111111111111</td> </tr> </table>最终效果如下:
table-layout:fixed