HTML表格:保持列的宽度不变。
HTML表格:保持列的宽度不变。
我有一个包含多个列组的表格。这个表格比我的页面大,所以我有一个控件来显示/隐藏其中一些组以适应页面。初始表格看起来不错:在一个组内,所有列的宽度都差不多。但是当我隐藏一个组时,列的宽度不再相同,看起来很糟糕。
示例:(链接已损坏)
到目前为止,表格看起来还不错。点击“>>”。在“Ecommerce Pro”下的第一列比其他“Ecommerce Pro”下的列要宽得多,看起来很奇怪。点击“<<”,这次在“Value”下的第一列太宽了。至少在Firefox上是这样。
我尝试使用
有没有关于HTML/CSS的提示可以让列在一个组内保持相同的宽度?
编辑:
- 要隐藏一列,我必须使用visibility: collapse
- 现在似乎调整得很好,我不知道为什么
问题的原因是当隐藏/显示不同的列时,单元格的数量会发生变化。这导致列的宽度也会随之改变,无法保持相同的宽度。
解决方法是将所有列的宽度设置为相同的百分比,以确保它们始终保持相同的宽度。在这种情况下,可以将所有3列的宽度都设置为33.3%。这样,无论显示哪一列,浏览器都会将它们渲染为相似的宽度。以下是示例代码:
Name | Value | Business |
---|---|---|
John | 100 | Business A |
Jane | 200 | Business B |
Mike | 150 | Business C |
通过将每个`
问题的原因是在HTML表格中,当表格的列数不确定时,想要保持每列的宽度相同比较困难。解决方法是给td元素添加样式width: 1%。如果表格本身有一个固定的宽度或者宽度设置为100%,那么这种方法就能奏效。
这种方法之所以有效是因为当我们将td元素的宽度设置为1%时,每列的宽度会根据表格的宽度进行自动调整。如果表格的宽度是固定的,那么每列的宽度就会按比例分配,从而保持相同的宽度。这种方法同样适用于只想固定左侧列宽度,而其他列宽度保持相同的情况。
下面是一个示例代码,演示了如何使用这种方法来保持表格的列宽度相同:
Column 1 | Column 2 | Column 3 |
Data 1 | Data 2 | Data 3 |
Data 4 | Data 5 | Data 6 |
在这个示例中,我们给表格添加了一个宽度设置为100%的样式,并给td元素添加了width: 1%的样式。这样,每列的宽度就会自动调整,保持相同的宽度。
总结起来,要保持HTML表格的列宽度相同,可以通过给td元素添加样式width: 1%来实现。如果表格本身有一个固定的宽度或者宽度设置为100%,那么这种方法就会奏效。这种方法同样适用于只想固定左侧列宽度,而其他列宽度保持相同的情况。