隐藏表格行而不调整总宽度

问题描述:

有没有办法在不影响整个表格宽度的情况下隐藏表格行?我有一些JavaScript显示/隐藏了一些表格行,但是当行设置为display: none;时,表格中的缩略图适合可见行的内容。隐藏表格行而不调整总宽度

如果你正在寻找保存表的总宽度,可以先检查它躲在一排,并明确宽度样式属性设置为这个值:

然而,这可能会导致当您隐藏行时,各个列将重新排列。缓解这种情况的一种可能的方法是在您的表中添加样式:

table { 
    table-layout: fixed; 
} 
+1

做......直到你调整窗口的大小,则该表的固定宽度不回流更多,因为它现在是一个固定的像素宽度... – ijw 2009-09-02 12:35:36

作为参考,levik的解决方案完美地工作。在我的情况下,使用jQuery,该解决方案看起来是这样的:

$('#tableId').width($('#tableId').width()); 

在CSS中,你的表指示浏览兑现你的高度和宽度指定的大小。这通常会抑制浏览器的自动调整大小,除非您没有提供关于行和列的首选大小的任何提示。

+1

谢谢提供行为的解释 – garrow 2008-09-30 08:54:13

则可以使用纯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>