Обложка / Оглавление / Таблицы

Сложная таблица



Положим, что нам нужно построить сложную таблицу с ячейками различных размеров. Например, такую:

Эоны Эры Периоды Начало (млн. лет назад) Формы жизни
Фанерозой (750 млн. лет) Кайнозой (66 млн. лет) Антропоген 0,7 Млекопитающие
Неоген 25±2
Палеоген 66±3
Мезозой (169 млн. лет) Меловой 132±5 Рептилии, аммониты
Юрский 185±5
Триас 235±5
Палеозой (340 млн. лет) Пермский 280±10 Земноводные
Карбон 345±10
Девонский 400±10 Рыбы, кораллы
Силур 435±10 Беспозвоночные
Ордовик 490±10
Кембрий 570±20
Криптозой (3 млрд. лет) Протерозой (1.6 млрд. лет)   2600±100  
Архей (2 млрд. лет) св. 3500

В этой таблице одна строка заголовков и 14 обычных строк. Единственная сложность заключается в том, что некоторые ячейки в отдельных столбцах объединены.

Построим для начала заготовку будущей таблицы без объединения ячеек. В каждую ячейку поместим ее номер, чтобы удобнее было ориентироваться в тексте.

1 2 3 4 5
1-1 1-2 1-3 1-4 1-5
2-1 2-2 2-3 2-4 2-5
3-1 3-2 3-3 3-4 3-5
4-1 4-2 4-3 4-4 4-5
5-1 5-2 5-3 5-4 5-5
6-1 6-2 6-3 6-4 6-5
7-1 7-2 7-3 7-4 7-5
8-1 8-2 8-3 8-4 8-5
9-1 9-2 9-3 9-4 9-5
10-1 10-2 10-3 10-4 10-5
11-1 11-2 11-3 11-4 11-5
12-1 12-2 12-3 12-4 12-5
13-1 13-2 13-3 13-4 13-5
14-1 14-2 14-3 14-4 14-5

Объединим ячейки, которые мы закрасили в желтый цвет. Для объединения ячеек одного столбца используется атрибут rowspan элемента td. Всего надо объединить 12 ячеек, следовательно нужно записать rowspan=12 и поместить эту запись в тег самой верхней ячейки с номером 1-1. Остальные ячейти с номерами 2-1...12-1 следует удалить из HTML-кода.

Когда мы это проделаем, мы получим следующий результат.

1 2 3 4 5
1-1 1-2 1-3 1-4 1-5
2-2 2-3 2-4 2-5
3-2 3-3 3-4 3-5
4-2 4-3 4-4 4-5
5-2 5-3 5-4 5-5
6-2 6-3 6-4 6-5
7-2 7-3 7-4 7-5
8-2 8-3 8-4 8-5
9-2 9-3 9-4 9-5
10-2 10-3 10-4 10-5
11-2 11-3 11-4 11-5
12-2 12-3 12-4 12-5
13-1 13-2 13-3 13-4 13-5
14-1 14-2 14-3 14-4 14-5

Мы сразу, тому же выделили следующие ячейки, которые следует объединить. В ячейте с номером 13-1 запишем rowspan=2, а ячейку с номером 14-1 удалим.

Выполнив аналогичным образом объединение всех остальных ячеек, мы получим желанную заготовку.

1 2 3 4 5
1-1 1-2 1-3 1-4 1-5
2-3 2-4
3-3 3-4
4-2 4-3 4-4 4-5
5-3 5-4
6-3 6-4
7-2 7-3 7-4 7-5
8-3 8-4
9-3 9-4 9-5
10-3 10-4 10-5
11-3 11-4
12-3 12-4
13-1 13-2 13-3 13-4 13-5
14-2 14-4

Теперь в оставшиеся ячейки вместо их номеров поместим текст и получим требуемую таблицу. Если таблица действительно сложная лучше сначала нарисовать ее на бумаге, чтобы все время иметь перед глазами картинку с номерами ячеек.

Предположим, что нам необходимо объединить целую группу ячеек, которую мы закрасили в желтый цвет.
1 2 3 4 5
1-1 1-2 1-3 1-4 1-5
2-1 2-2 2-3 2-4 2-5
3-1 3-2 3-3 3-4 3-5
4-1 4-2 4-3 4-4 4-5
5-1 5-2 5-3 5-4 5-5
6-1 6-2 6-3 6-4 6-5
7-1 7-2 7-3 7-4 7-5
8-1 8-2 8-3 8-4 8-5
9-1 9-2 9-3 9-4 9-5
10-1 10-2 10-3 10-4 10-5
11-1 11-2 11-3 11-4 11-5
12-1 12-2 12-3 12-4 12-5
13-1 13-2 13-3 13-4 13-5
14-1 14-2 14-3 14-4 14-5

Для объединения ячеек из различных столбцов используется атрибут colspan. Поскольку нам требуется объединить ячейки из пяти строк и трех столбцов, в начальный тег ячейки с номером 5-2 мы запишем: rowspan=5 colspan=3. Записи, соответствующие остальным закрашенным ячейкам, необходимо удалить из HTML-кода. Когда мы все это проделаем, мы получим следующий результат:

1 2 3 4 5
1-1 1-2 1-3 1-4 1-5
2-1 2-2 2-3 2-4 2-5
3-1 3-2 3-3 3-4 3-5
4-1 4-2 4-3 4-4 4-5
5-1 5-2 5-5
6-1 6-5
7-1 7-5
8-1 8-5
9-1 9-5
10-1 10-2 10-3 10-4 10-5
11-1 11-2 11-3 11-4 11-5
12-1 12-2 12-3 12-4 12-5
13-1 13-2 13-3 13-4 13-5
14-1 14-2 14-3 14-4 14-5

Вот, пожалуй и все. Ничего сложного нет, требуется только предельное внимание и аккуратность.









Сайт управляется системой uCoz