Тег <table> в HTML

Тег <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.

Оцените статью
Инструкции для Web
Добавить комментарии