Таблица состоит из строк и столбцов ячеек, которые могут содержать текст, рисунки и другие элементы. Обычно таблицы используются для упорядочения и представления данных, однако возможности таблиц этим не ограничиваются.
Для добавления таблицы на веб-страницу используется элемент <table>. Он служит контейнером для других элементов, определяющих содержимое таблицы. Любая таблица состоит из строк и ячеек, которые задаются с помощью элементов <tr> и <td> соответственно. Таблица должна содержать хотя бы одну ячейку (пример 1). Вместо <td> допускается использовать элемент <th>. Текст в такой ячейке обычно отображается браузером жирным шрифтом и выравнивается по центру. В остальном разницы между ячейками, созданными через <td> и <th>, нет.
Пример 1. Создание таблицы
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Таблица</title>
</head>
<body>
<table border="1">
<tr>
<th>Заголовок 1</th><th>Заголовок 2</th>
</tr>
<tr>
<td>Ячейка 1</td><td>Ячейка 2</td>
</tr>
</table>
</body>
</html>
Изначально рамка вокруг ячеек таблицы не выводится, поэтому, чтобы показать их границы к <table> добавлен атрибут border (рис. 1).
Рис. 1. Вид таблицы
Особенности таблиц
У каждого параметра таблицы есть своё значение, установленное по умолчанию. Из этого следует, что если какой-то атрибут пропущен, то неявно он всё равно присутствует, причём с некоторым значением. Поэтому вид таблицы может оказаться совсем другим, чем предполагал разработчик. Чтобы понимать, что можно ожидать от таблиц, следует знать их явные и неявные особенности, которые перечислены далее.
- Одну таблицу допускается помещать внутрь ячейки другой таблицы. Это требуется в некоторых случаях для представления сложных данных.
- Размеры таблицы изначально не установлены и вычисляются на основе содержимого ячеек. Например, общая ширина определяется автоматически исходя из суммарной ширины содержимого ячеек плюс ширина границ между ячейками, поля вокруг содержимого и расстояние между ячейками.
- Если для таблицы задана её ширина в процентах или пикселях, то содержимое таблицы подстраивается под указанные размеры. Так, браузер автоматически добавляет переносы строк в текст, чтобы он полностью поместился в ячейку, и при этом ширина таблицы осталась без изменений. Бывает, что ширину содержимого ячейки невозможно изменить, как это, например, происходит с рисунками. В этом случае ширина таблицы увеличивается несмотря на указанные размеры.
- Пока таблица не загрузится полностью, её содержимое не начнёт отображаться. Дело в том, что браузер, прежде чем показать содержимое таблицы, должен вычислить необходимые размеры ячеек, их ширину и высоту. А для этого нужно знать, что в этих ячейках находится. Поэтому браузер и ожидает, пока загрузится всё, что находится в ячейках, и только потом отображает таблицу.