HTML表格:保持相同的列宽

我有一个有几组列的表。 该表比我的页面大,所以我有一个控件来显示/隐藏这些组中的一些适合页面。 初始表格看起来不错:组中的所有列大约相同。 但是当我隐藏一个组时,这些列不再是相同的宽度,而且看起来很糟糕。

例如: http : //www.reviews-web-hosting.com/companies/apollohosting.html (无效链接)

到目前为止,表格看起来不错。 点击>>。 “电子商务专业版”下的第一列比“电子商务专业版”的其他专栏要宽得多,看起来很奇怪。 点击<<,此时“价值”下的第一列太宽了。 至less在Firefox上。

我试过使用

<colgroup><col /><col span="5" />... 

但没有运气。 如果我将col设置为style =“display:none”,则仍然显示一组列。

任何HTML / CSS的提示,以保持列与组相同的宽度?

编辑:

  • 要隐藏一列,我必须使用可见性:折叠
  • 现在好像调整好了,我不知道为什么

如果您设置样式table-layout: fixed; 在你的桌子上,你可以覆盖浏览器的自动调整列大小。 然后,浏览器将根据表格第一行中单元格的宽度设置列宽。 将<thead>更改为<caption>然后移除其中的<td> ,然后为<tbody>的单元格设置固定的宽度。

给这个样式td:width:1%;

在你的情况,因为你只显示3列:

 Name Value Business or Name Business Ecommerce Pro 

为什么不把全部3个设置为33.3%的宽度。 因为一次只显示3个,所以浏览器应该渲染它们全部相似的宽度。

那么,你为什么不摆脱边栏,并挤压桌子,所以它没有显示/隐藏效果? 我现在看起来很奇怪 表格太强大了。
否则,我认为scunliffe的build议应该这样做。 或者,如果你愿意,你可以设置表格的确切宽度,并为表格单元格设置百分比或像素宽度。