在为动态生成的表设置样式时遇到问题。用户可以选择必须有多少列,其中一些列具有固定长度。如何让对方给出一定百分比的剩余空间,而不必每次都指定列的确切宽度而不用不同的数据/不同浏览器的不同列宽度?
示例:
<style type="text/css">
table{
width:800px;
border:1px solid #CCCCCC;
/* table-layout: fixed; */
}
table td {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
border:1px solid #EEEEEE;
}
table tbody td.active{
text-align:center;
width:100px; /* fixed */
}
table tbody td.option{
width:100px; /* fixed */
}
table tbody td.nonfixed{
width:auto;
}
</style>
<table>
<thead>
<tr>
<td>Name</td>
<td>Description</td>
<td>Active</td>
<td colspan="2">Options</td>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="5"><a href="">+ Add new row</a><td>
</tr>
</tfoot>
<tbody>
<tr>
<td class="nonfixed">[Name 1]</td>
<td class="nonfixed">[Description 1]</td>
<td class="active">[X]</td>
<td class="option">Edit</td>
<td class="option">Delete</td>
</tr>
<tr>
<td class="nonfixed">[Name 2]</td>
<td class="nonfixed">[Description 2]</td>
<td class="active">[0]</td>
<td class="option">Edit</td>
<td class="option">Delete</td>
</tr>
</tbody>
</table>
在示例中,两个“非固定”列应具有完全相同的宽度。当用户添加非固定列或将第一列与最后一列切换时,这也应该有效。
谁能帮助我?
答案 0 :(得分:2)
我看到两种可能的方法......要么使用脚本来计算灵活宽度列,要么使用宽度和平均值,或使用嵌套表将两个flex cols拆分为50%:
<table>
<tr>
<td class="fixed"></td>
<td class="fixed"></td>
<td class="fixed"></td>
<td class="flex-wrapper">
<table width="100%">
<tr>
<td width="50%"></td>
<td width="50%"></td>
</tr>
</table>
</td>
</tr>
</table>