Как объединить ячейки в HTML-таблице горизонтально и вертикально: colspan и rowspan
Как объединить ячейки в HTML-таблице горизонтально

В HTML-таблице каждая ячейка ограничивается набором тегов <td> и </td>, между которыми размещается содержимое. Если вы не добавляете в тег <td> дополнительные атрибуты или стили CSS, то каждая ячейка по умолчанию будет занимать ровно один столбец.
Для HTML объединения ячеек необходимо добавить в строку меньше ячеек, чем в остальные строки и добавить атрибут colspan=" " внутри тега <td> ячейки, которую необходимо растянуть.
Рассмотрим простой пример HTML-таблицы с двумя строками и двумя столбцами (четыре ячейки). Ее HTML-код выглядит следующим образом:
<table>
<tr><td>содержимое</td><td>содержимое</td></tr>
<tr><td>содержимое</td><td>содержимое</td></tr>
</table>
Далее, если нужно объединить две ячейки в верхней строке, используйте атрибут <b>colspan=" "</b> следующим образом:
<table>
<tr><td colspan="2">содержимое</td></tr>
<tr><td> содержимое</td><td>содержимое</td></tr>
</table>
Ячейка в верхней строке теперь охватывает два столбца. Поскольку она занимает пространство двух ячеек, в первом ряду есть только один элемент td.
Можно осуществить объединение ячеек таблицы HTML в любой ее области с любым количеством столбцов. Одним из наиболее полезных применений объединения ячеек по горизонтали является создание заголовков таблицы. Если таблица имеет n столбцов, поместите атрибут colspan="n" в первую ячейку верхнего ряда и удалите другие ячейки из этого ряда.
Как объединить ячейки в HTML-таблице по вертикали: rowspan

Если нужно, чтобы ячейка охватывала несколько строк, следует добавить атрибут rowspan=" " внутри тега <td> той ячейки, которую необходимо растянуть по вертикали. В каждой строке под строкой, где начинается растянутая ячейка, нужно удалить одну ячейку, чтобы таблица была выровнена. Например, когда вы растягиваете ячейку на три строки, необходимо удалить по одной ячейке в следующих двух строках.
Рассмотрим простой пример HTML-таблицы с четырьмя ячейками, разделенными на две строки и два столбца. HTML-код:
<table>
<tr><td>содержимое</td><td>содержимое</td></tr>
<tr><td>содержимое</td><td>содержимое</td></tr>
</table>
Чтобы осуществить HTML table объединение ячеек по вертикали, добавьте для первой ячейки верхней строки атрибут rowspan="2", а затем удалите одну из ячеек в нижнем ряду. HTML-код теперь будет выглядеть следующим образом:
<table>
<tr><td rowspan="2">stuff</td><td>содержимое</td></tr>
<tr><td>содержимое</td></tr>
</table>
Можно комбинировать горизонтальное и вертикальное объединение ячеек в одной таблице, как показано на рисунке слева. Одна ячейка даже может охватывать несколько строк и столбцов, как показано на рисунке справа. HTML-код для каждой таблицы приведен ниже:

Код:
<table>
<tr>
<td rowspan="3">span 3 rows</td>
<td colspan="3">span 3 columns</td>
</tr>
<tr>
<td>H</td>
<td>T</td>
<td rowspan="2">span 2 rows</td>
</tr>
<tr>
<td>M</td>
<td>L</td>
</tr>
<tr>
<td colspan="4">span 4 columns</td>
</tr>
</table>
<table>
<tr>
<td rowspan="2" colspan="2">span 2 rows and 2 columns</td>
<td>T</td>
</tr>
<tr>
<td>A</td>
</tr>
<tr>
<td>E</td>
<td>L</td>
<td>B</td>
</tr>
</table>
Использование вертикально объединенных ячеек
Объединение ячеек по вертикали HTML в одном столбце можно использовать, если нужно создать заголовок для группы строк, примыкающих к этому столбцу. Это также может помочь разделить группы строк по типу.
При представлении данных на сайте в табличном формате, чем лучше вы организуете данные по подгруппам, тем проще пользователям анализировать и обрабатывать эти данные. Разделители пространства помогают нам анализировать вещи более эффективно. Также можно использовать для столбцов цветовой код, чтобы их было еще проще визуально идентифицировать:
