这并不是一个真正干净的解决方案,但它不使用 JS,并且在我测试过的每个浏览器中都可以使用。
table-layout: fixed
我的解决方案包括将单元格的内容用和包裹在表格中width: 100%
。
请参阅演示。
这是完整的解决方案:
<table class="main-table">
<tr>
<td class="nowrap">Button 1</td>
<td>
<table class="fixed-table">
<tr>
<td>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Delectus doloremque magni illo reprehenderit consequuntur quia dicta labore veniam distinctio quod iure vitae porro nesciunt. Minus ipsam facilis! Velit sapiente numquam.</td>
</tr>
</table>
</td>
<td class="nowrap">Button 2</td>
</tr>
</table>
.main-table {
width: 100%;
}
.fixed-table {
/* magic */
width: 100%;
table-layout: fixed;
/*not really necessary, removes extra white space */
border-collapse: collapse;
border-spacing: 0;
border: 0;
}
.fixed-table td {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.nowrap {
/* used to keep buttons' text in a single line,
* remove this class to allow natural line-breaking.
*/
white-space: nowrap;
}
目前还不清楚侧边按钮的意图是什么,因此我习惯white-space: nowrap
将它们保持在同一行。根据用例,您可能更喜欢应用 amin-width
并让它们自然换行。