2010-06-02 423 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; } 
相關問題