2009-10-24 45 views
0

如果我想交替每行中單元格的數量,那麼正確的HTML是什麼?我想要2個單元格是第1,3行,第2行,第2行,第3行,第4行等等......類似於磚牆。到目前爲止我有這個,但它並不像我想的那樣渲染。我知道我可以做這個嵌套表,但我可以用一張桌子做這個嗎?HTML表格幫助交替數量的單元格

<table border="1" cellpadding="10"> 
    <tr> 
    <td colspan="1.5"> <span> X </span> </td> 
    <td colspan="1.5"> <span> X </span> </td> 
    </tr> 
    <tr> 
    <td> <span> X </span> </td> 
    <td> <span> X </span> </td> 
    <td> <span> X </span> </td> 
</tr> 
<tr> 
    <td colspan="1.5"> <span> X </span> </td> 
    <td colspan="1.5"> <span> X </span> </td> 
    </tr> 
    <tr> 
    <td> <span> X </span> </td> 
    <td> <span> X </span> </td> 
    <td> <span> X </span> </td> 
</tr> 
<tr> 
    <td colspan="1.5"> <span> X </span> </td> 
    <td colspan="1.5"> <span> X </span> </td> 
    </tr> 
    <tr> 
    <td> <span> X </span> </td> 
    <td> <span> X </span> </td> 
    <td> <span> X </span> </td> 
</tr> 
</table> 

回答

4

你不能有一個小區跨度分數寬度。相反,您需要爲較低和較高範圍內的行數找到最小公分母。在你的例子中,2和3是6--所以你的表格是6個單元的寬度,偶數行跨越3個,奇數行跨越2個。

<table width="360"> 
    <tr> 
     <td align="center" width="180" colspan="3">x</td> 
     <td align="center" width="180" colspan="3">x</td> 
    </tr> 
    <tr> 
     <td align="center" width="120" colspan="2">x</td> 
     <td align="center" width="120" colspan="2">x</td> 
     <td align="center" width="120" colspan="2">x</td> 
    </tr> 
</table> 

請注意表格寬度很容易被2和3整除,並且寬度在每個單元格中明確設置。

+0

那是什麼,我需要雷克斯。謝謝! – Hcabnettek 2009-10-24 21:37:07

-1
<table> 
<tr> 
<td colspan="2">X</td> 
<td colspan="2">X</td> 
<td colspan="2">X</td> 
<td>Y</td> 
</tr> 
<tr> 
<td>Y</td> 
<td colspan="2">X</td> 
<td colspan="2">X</td> 
<td colspan="2">X</td> 
</tr> 
-1

我很確定colspans必須有一個整數值,分數是不允許的。 您可以嘗試在3細胞系中添加0寬度,0填充,0邊距的虛擬細胞。

<tr> 
    <td colspan="2"> <span> X </span> </td> 
    <td colspan="2"> <span> X </span> </td> 
    </tr> 
    <tr> 
    <td> <span> X </span> </td> 
    <td> <span> X </span> </td> 
    <td> <span> X </span> </td> 
    <td><!-- dummy !--></td> 
</tr> 
0

一種方法可以通過CSS。您可以設置一張與您需要的大小相同的表格(例如4x4),然後根據需要將樣式應用於每個單元格。將有兩種風格,磚和空,其中一個表示「磚」,另一個表示空的空間。

所以,你可以這樣做以下:

<html> 
<head> 
<style type="text/css"> 
    td { border-style:none; width:30px; } 
    td.brick { border-style:solid; border-color:black; border-width:1px; } 
</style> 
</head> 
<body> 
<table> 
<tr><td class="brick">&nbsp;</td><td></td><td></td><td></td></tr> 
<tr><td class="brick">&nbsp;</td><td class="brick">&nbsp;</td><td></td><td></td></tr> 
<tr><td class="brick">&nbsp;</td><td class="brick">&nbsp;</td><td class="brick">&nbsp;</td><td></td></tr> 
<tr><td class="brick">&nbsp;</td><td class="brick">&nbsp;</td><td class="brick">&nbsp;</td><td class="brick">&nbsp;</td></tr> 
</table> 
</body> 
</html>