2011-07-13 59 views
1

我有想放在表中的這樣的數據(A,B1,B2,C1,C2和C3):與互質數ROWSPAN排列

+----+----+----+ 
| | B1 | C1 | 
| +----+ | 
| A | B2 +----| 
| +----+ C2 | 
| | B3 | | 
+----+----+----+ 

使用rowspans,我想出了與此:

<table> 
<tr> 
    <td rowspan=6>A</td> 
    <td rowspan=2>B1</td> 
    <td rowspan=3>C1</td> 
</tr> 
<tr><td rowspan=2>B2</td></tr> 
<tr><td rowspan=3>C2</td></tr> 
<tr><td rowspan=2>B3</td></tr> 
</table> 

但它不起作用。我嘗試了幾種組合和變體,但都沒有工作。

我想要一個解決方案,如果可能的話使用任何coprime數字(這裏的例子是2和3)。

如果你想快速破解它,我用這段代碼做了一個jsfiddle(http://jsfiddle.net/NPETb/)。

回答

1

您的rowspans合計爲6,但實際上表中沒有6行。

您需要添加哪些最終被空以及行:

<table> 
<tr> 
    <td rowspan=6>A</td> 
    <td rowspan=2>B1</td> 
    <td rowspan=3>C1</td> 
</tr> 
<tr><!-- no new cells here --></tr> 
<tr><td rowspan=2>B2</td></tr> 
<tr><td rowspan=3>C2</td></tr> 
<tr><td rowspan=2>B3</td></tr> 
<tr><!-- no new cells here --></tr> 
</table> 
+0

謝謝,這正是我所期待的。 – Artefact2

2

爲什麼不使用嵌套表?例如。

<table> 
<tr>  
    <td> A 
    </td> 
    <td> <table> <tr><td>B1</td></tr> 
       <tr><td>B2</td></tr> 
       <tr><td>B3</td></tr> 
     </table> 
    </td> 
    <td> <table> <tr><td>C1</td></tr> 
       <tr><td>C2</td></tr> 
     </table> 
    </td>     
</tr>  
</table> 
+0

哦是的。也許這對我來說太簡單了。非常感謝你,親切的先生! – Artefact2

1

嘗試這樣的視覺解釋。畫出幾個例子:(2,8),(4,6)和(3,5)等。獲取標尺並擴展所有的水平線段,直到碰到表格邊界爲止。你會看到,互質數字的水平線不會重疊,除了在頂部和底部。具有共同因素的數字會導致重疊,並且在繪製幾張照片後,應該清楚原因。所以你有最壞的情況,如果你想要做(5,7),你需要35行!任何一個coprime對都會發生同樣的情況。在這種情況下,不同的列在邏輯上就像不同的表,因爲它們的水平線根本不會網格化,除了頂部和底部。

所以,選擇你的毒藥:每個'列'的嵌套表或笨拙的行數粘在一起笨拙。

順便說一下,給(m,n)的答案是不復雜...

+0

我假設您希望每列中的每一行都具有相同的大小... – ThoralfSkolem