隐藏表格行而不调整整体宽度
时间: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>