隐藏表格行而不调整整体宽度
时间:2020-03-06 14:51:27 来源:igfitidea点击:
有没有一种方法可以隐藏表格行而不影响表格的整体宽度?我有一些显示/隐藏某些表行的javascript,但是当这些行设置为display:none;时,该表将缩小以适合可见行的内容。
解决方案
如果要保留表的整体宽度,则可以在隐藏行之前对其进行检查,然后将width样式属性显式设置为此值:
table.style.width = table.clientWidth + "px"; table.rows[3].style.display = "none";
但是,这可能会导致我们在隐藏行时对各个列进行重排。减轻这种情况的一种可能方法是在表格中添加样式:
table {
table-layout: fixed;
}
供参考,levik的解决方案可以完美地工作。就我而言,使用jQuery,解决方案如下所示:
$('#tableId').width($('#tableId').width());
在CSS中,表格上的table-layout:fixed;指示浏览器遵循我们为高度和宽度指定的尺寸。除非我们没有提供有关行和列的首选大小的任何提示,否则这通常会抑制浏览器自动调整大小。
我们可以使用纯HTML做到这一点
<table border="1">
<colgroup>
<col width="150px" />
<col width="10px" />
<col width="220px" />
</colgroup>
<tr>
<td valign="top">1</td>
<td> </td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td> </td>
<td>4</td>
</tr>
</table>

