2010-06-02 420 views
0

我有要显示的表格数据,这对行和列都有意义。列是时间块,行是几天。一个特定的数据集仅限于一天,但可以在多个时间块中。为了表明这一点,我使用了colspan标签。HTML表格:如何在已指定“colspan”时调整数据单元格大小?

<div id = "GuideTable"> 
    <table> 
    <tr> 
     <td colspan = 3> 
    </td></tr></table> 
</div> 

或无论如何。

我试图将CSS格式应用于整个表格,并且为了更改颜色等等,事情都很好,但是想要获得一致的宽度就是我遇到问题的地方。

现在,每个数据单元的宽度似乎都与其列中的最大宽度相关(一切自动排列)。有些专栏很小,其他专栏很大。我试图让列的大小保持一致(即使这意味着每列的大小与最大列的大小一样大),但是设置单个数据容器的宽度(通过css或标签本身)却让我无处可寻。

我在想也许colspan标签重写我的手动宽度?如果是这样的话,我怎样才能改变整个列的宽度,特别是因为它们没有明确定义? (你能明确定义列?)的CSS

例子我使用:

#GuideTable td{ 
background:#ffffff; 
border-style: solid; 
border-width: 1px; 
width: 100px; 
} 

回答

0

如果你能给这将是巨大的例子。

表格有许多特殊属性,单元格必须始终填充表格宽度的100%。

如果你给一个单元格的宽度属性,这将工作。 CSS会变得很多,因为很多事情都不行。

+0

问题是,我的例子是Ruby on Rails的(这更增加了并发症)产生的,是大约20,000行代码(这是一个巨大的,表)。我认为我的主要问题是,由于桌子有多大,以及桌子的宽度如何是我无法指定的(因为我不能预先知道桌子的大小需要多大),有些奇怪的自动化可能正在进行,使得表格大到几乎不能容纳所有内容,但导致了随机列宽。 – Jenny 2010-06-04 12:23:06

+0

然后设置一个标准的列宽,看看它的外观,然后调整相应的:) – 2010-06-04 17:39:56

0

所以我用下面的代码

<html> 
<head> 
    <style type="text/css"> 
    td 
    { 
     width: 100px; 
    } 
    </style> 
</head> 
<body> 
    <table border="1"> 
     <tr> 
      <td colspan="3">First Row</td> 
     </tr> 
     <tr> 
      <td>Second</td> 
      <td colspan="2">Row</td> 
     </tr> 
     <tr> 
      <td>The</td> 
      <td>Third</td> 
      <td>Row</td> 
     </tr> 
    </table> 
</body> 
</html> 

跑了一个小实验产生的表有300像素的总宽度(给予或采取)。每个单元宽度为100px。也许还有别的东西会影响你的单元格宽度。尝试剥离CSS并将其逐一部分地加回来,甚至可能会让CSS变得很糟糕(就像我正在处理的那样,导致桌子飞向左边的字体系列)

+0

感谢您的建议...我曾尝试剥离CSS,并修改表的总宽度...没有真正改变,但是。这是非常令人沮丧的。尽管如此,我发现我可以改变高度。 最后,我做了一个破解,并添加了一个1像素的方形图像,拉伸到适合我的宽度。它的工作原理,让我少了头痛,但它不是“正确的”解决方案。 (但我需要一个快速)。 – Jenny 2010-06-04 12:20:29

0

(刚刚发现这一点的同时寻找别的东西)

如果您不需要支持IE6,你可以使用属性选择宽度重置为细胞colspan:如果你

td { width: 100px; } 
td[colspan] { width: auto; } 

必须支持IE6,您需要使用colspan为每个单元添加一个类:

<td colspan="2" class="colspan">...</td> 

td { width: 100px; } 
td.colspan { width: auto; } 
相关问题