Rowspan расположение с простыми числами - PullRequest
1 голос
/ 13 июля 2011

У меня есть данные (A, B1, B2, C1, C2 и C3), которые я хотел бы поместить в таблицу, подобную этой:

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

Используя строки, я пришел к следующему:

<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> 

Но это не работает.Я пробовал несколько комбинаций и вариантов, но ни один из них не работает.

Я бы хотел решение, которое работает с любыми простыми числами, если это возможно (пример здесь с 2 и 3).

Я сделал jsfiddle (http://jsfiddle.net/NPETb/) с этим кодом, если вы хотите быстро его взломать.

Ответы [ 3 ]

2 голосов
/ 13 июля 2011

Почему бы не использовать вложенную таблицу?Например,

<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> 
1 голос
/ 14 июля 2011

Попробуйте это визуальное объяснение.Нарисуйте несколько примеров: (2,8), (4,6) и (3,5) и т. Д. Получите линейку и вытяните все горизонтальные отрезки, пока они не столкнутся с границами таблицы.Вы увидите, что с простыми числами горизонтальные линии не будут перекрываться, кроме как сверху и снизу.Числа с общими факторами вызовут наложение, и после рисования нескольких картинок должно быть понятно, почему.

Таким образом, у вас наихудший сценарий, если вы хотите сделать (5,7), вам понадобится 35 строк!То же самое происходит с любой простой парой.В этом случае разные столбцы логически похожи на разные таблицы, поскольку их горизонтальные линии вообще не отображаются, кроме как сверху и снизу.

Итак, выберите яд: вложенная таблица для каждого «столбца»или громоздкое количество рядов, неловко склеенных вместе.

Кстати, учитывая (м, п) ответ не сложный ...

1 голос
/ 13 июля 2011

Число ваших строк в сумме равно 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> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...