Тег <table> позволяет сделать таблицу в HTML, то есть представить данные в табличном виде, состоящем из строк и столбцов, а также ячеек, содержащих данные. В ячейках можно разместить любую информацию: текст, изображения, видео и т.д. Таблицы имеют множество настроек границ и ячеек: цвета и прозрачность, группировка ячеек и столбцов, ширина, высота, отступы и т.д.
Самая простая таблица
Самую простую таблицу можно составить из трех тегов: table, tr, td. tr — определяет строку, а td — ячейку. По умолчанию содержимое td элементов выравнивается влево.
Ниже показан пример такой таблицы. Из стилизации применено только атрибут border, чтобы сделать рамку, и строка-заголовок выделена жирным.
See the Pen
table простой пример by Андрей (@adlibi)
on CodePen.
Атрибуты
- align
- Отвечает за выравнивание таблицы на странице(
left– по левому краю,right– по правому,center– по центру). Пример:<table align="left">. - background
- определяет фоновый рисунок
- bgcolor
- Применяется для создания фона, например:
<table bgcolor="red">(фон красный). - border
- Устанавливает границы таблицы
- bordercolor
- цвет границ
- cellpadding
- Создает отступы в таблице между краями ячеек и их содержимым. Пример: <table cellpadding=»4″>.
- cellspacing
- расстояние между границами ячеек
- cols
- Задает количество столбцов в таблице, ускоряя ее отображение в браузере.
- frame
- определяет, как отображать границы
- height
- высота таблицы
- rules
- где отображать границы между разными видами ячеек
- summary
- кратко описывает таблицу или ее предназначение. Признан устаревшим для HTML5.
- width
- Сообщает ширину таблицы браузеру
Теги и разделы
Приведем различные теги, применяемые при создании таблиц.
<caption> — название таблицы. На примере выделен красным цветом.
See the Pen
table caption by Андрей (@adlibi)
on CodePen.
<th> — заголовочная ячейка. Должна помещаться внутри <tr>. Обычно по умолчанию ее содержимое выделяется браузером жирным и центрируется. На примере первая строка оформлена через теги th.
See the Pen
table th by Андрей (@adlibi)
on CodePen.
<thead>— группирует содержимое заголовочной части таблицы.<tbody>— группировка основного контента.<tfoot>-группирует футер (нижнюю часть).
На примере есть все эти 3 раздела. У первого задан цвет содержимого красный, у второго — синий, у третьего — зеленый.
See the Pen
table head foot by Андрей (@adlibi)
on CodePen.
Группировка столбцов
<colgroup> и <col> — позволяют задавать параметры для нескольких колонок сразу, что приводит к уменьшению кода и более ранней отрисовке элемента. При этом <colgroup> как раз позволяет устанавливать такие общие свойства, а <col> применяется внутри него, чтобы задать для колонки отличающиеся от общих свойства. <colgroup> разрешается использовать как одиночный тег, если он не содержит внутри себя тегов <col>. Их работу проще всего понять на примере. Мы задали для первых 2-х столбцов один цвет фона, а для следующего (третьего) — другой.
See the Pen
table colgroup by Андрей (@adlibi)
on CodePen.
Атрибут span для тега col позволяет установить количество колонок, к которым будут применяться параметры.
Объединение ячеек таблицы
Чтобы объединить две или более ячейки по вертикали в одну используйте атрибут colspan.
На примере ниже мы объединили во второй строке 2 столбца, применив <td colspan="2" и выделив их для наглядности желтым.
See the Pen
table colspan by Андрей (@adlibi)
on CodePen.
Для объединения ячеек по вертикали используйте rowspan. Ниже пример такого объединения с использованием атрибута <td rowspan="2".
See the Pen
table rowspan by Андрей (@adlibi)
on CodePen.
Табличная верстка в CSS
Нужно сказать, что применение табличных тегов HTML становится все реже в пользу применения инструкций CSS. В CSS верстка таблиц возможно с помощью специального свойства display, имеющего значения, полностью имитирующие различные элементы таблицы: ячейки, столбцы, заголовки и т.д. Кроме того существует мощный способ компоновки элементов CSS Flexbox, позволяющий выстраивать элементы в виде сетки. Все это позволяет при желании отказаться от тега table.
