HTML тег <table>

Значение и применение

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

Чтобы понять, как составить таблицу, давайте рассмотрим ее простейший вариант:

Основное содержимое таблицы заключается в тег <table>..</table>.

Каждая строка таблицы помещается в элемент <tr>...</tr>.

Ячейка заголовка таблицы помещается в элемент <th>...</th> (при этом содержимое отображается жирным начертанием и выравнивается по центру).

Каждая ячейка данных таблицы помещается в элемент <td>...</td>.

Наименование таблицы, если оно требуется размещается внутри элемента <caption>...</caption>(необязательный элемент). Обращаю Ваше внимание, что если Вы планируете использовать данный элемент в своей таблице, то он должен следовать в документе сразу за элементом <table>. По умолчанию наименование таблицы размещается по центру вверху таблицы (расположение заголовка таблицы возможно изменить, используя CSS свойство caption-side).

Таблицы предназначены для данных, связанных по строкам и столбцам. Для раскладки страницы используйте CSS. Заголовки обозначайте <th scope="col"> или <th scope="row">; одного жирного оформления недостаточно. Порядок частей: caption, colgroup, thead, тело, tfoot. Объединённая ячейка занимает место соседних: не добавляйте на это место лишние ячейки.

Поддержка браузерами

Спецификация: multipage

Поддерживается во всех основных браузерах с 2015 года.

Показать браузеры
Совместимостьhtml.elements.table
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
table✓1✓12✓1✓≤12.1✓1✓18✓4✓≤12.1✓1✓1.0✓4.4✓1
align✓1✓12✓1✓≤12.1✓1✓18✓4✓≤12.1✓1✓1.0✓4.4✓1
bgcolor✓1✓12✓1✓≤12.1✓1✓18✓4✓≤12.1✓1✓1.0✓4.4✓1
border✓1✓12✓1✓≤12.1✓1✓18✓4✓≤12.1✓1✓1.0✓4.4✓1
cellpadding✓1✓12✓1✓≤12.1✓1✓18✓4✓≤12.1✓1✓1.0✓4.4✓1
cellspacing✓1✓12✓1✓≤12.1✓1✓18✓4✓≤12.1✓1✓1.0✓4.4✓1
frame✓1✓12✓1✓≤12.1✓1✓18✓4✓≤12.1✓1✓1.0✓4.4✓1
rules✓1✓12✓1✓≤12.1✓1✓18✓4✓≤12.1✓1✓1.0✓4.4✓1
summary✓1✓12✓1✓≤12.1✓1✓18✓4✓≤12.1✓1✓1.0✓4.4✓1
width✓1✓12✓1✓≤12.1✓1✓18✓4✓≤12.1✓1✓1.0✓4.4✓1

поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31

Атрибуты

Атрибут Значение Описание
align left
right
center
Не поддерживается в HTML5.
Определяет выравнивание таблицы в соответствии с окружающим её текстом.
bgcolor rgb(x,x,x)
#xxxxxx
colorname
Не поддерживается в HTML5.
Задает цвет фона для таблицы.
border 0
1
Устаревший атрибут оформления. Используйте CSS border у таблицы и ячеек.
cellpadding pixels Не поддерживается в HTML5.
Определяет расстояние между границей ячейки и ее содержимым.
cellspacing pixels Не поддерживается в HTML5.
Указывает расстояние между ячейками.
frame above
below
hsides
lhs
rhs
vsides
box
border
void
Не поддерживается в HTML5.
Указывает, какие части внешних границ, должны быть видны.
rules none
groups
rows
cols
all
Не поддерживается в HTML5.
Указывает, какие части внутри границ должны быть видны.
sortable sortable Атрибут отсутствует в спецификации HTML 5.1.
Указывает, что данные в таблице могут быть отсортированы. Это логический атрибут.
summary text Устаревшее текстовое описание структуры таблицы, а не вертикальное выравнивание. Размещайте необходимые пояснения видимым текстом и используйте <caption>.
width pixels
%
Не поддерживается в HTML5.
Определяет ширину таблицы.

Примеры, попробуйте сами

Структура таблицы

Измените table и сравните заголовки, основную часть и итог таблицы.

base.css
CSS
/* Границы помогают увидеть ячейки и их объединение. */
table {
    border-collapse: collapse;
}
th,
td {
    border: 1px solid;
    padding: 4px;
}
index.html
HTML
<table>
  <caption>
    Заказ
  </caption>
  <thead>
    <tr>
      <th scope="col">Товар</th>
      <th scope="col">Количество</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <th scope="row">Блокнот</th>
      <td>2</td>
    </tr>
    <tr>
      <th scope="row">Карандаш</th>
      <td>3</td>
    </tr>
  </tbody>
  <tfoot>
    <tr>
      <th scope="row">Всего</th>
      <td>5</td>
    </tr>
  </tfoot>
</table>

Отличия HTML 4.01 от HTML 5

В HTML 5 была прекращена поддержка 8 атрибутов и одного в 5.1.

Значение CSS по умолчанию

CSS
table {
display : table;
border-collapse : separate;
border-spacing : 2px;
border-color : gray;
}

Поддержка глобальных атрибутов

Элемент поддерживает "глобальные атрибуты".

Атрибуты событий

Элемент поддерживает "атрибуты событий".