Табличное представление информации Используется в тех случаях, когда
необходимо вывести на страницу большое количество данных, характеризуемых
однотипным набором данных. Примерами таких данных могут быть CD библиотека, или
книжный каталог.
Таблицы строятся с помощью элементов следующих типов:
table - собственно контейнер, содержащий таблицу. Этот элемент может
содержать только элементы группировки строк (thead, tfoot и tbody).
tbody - тело таблицы. Внутри этого элемента должны размещаться только
строки таблицы.
tr - служит для создания строк таблицы. В строке могут размещаться
элементы данных таблицы (td) или элементы заголовка (th).
td - элемент данных таблицы.
th - элемент заголовка таблицы.
Это далеко не все элементы таблиц, однако, разберем все по порядку. Итак,
ниже представлен код простейшей таблицы:
Как вы сами можете убедиться, полученная таблица выглядит не совсем так, как
хотелось бы. У привычных нам таблиц есть по крайней мере рамки! Добиться
"нормального" внешнего вида нам помогут атрибуты элемента table:
border - данный атрибут определяет наличие и толщину рамки таблицы.
Если border имеет значение больше 0, то таблица, а так же каждая ее непустая
ячейка, приобретет рамку. Кроме того, толщина внешней рамки таблицы
определяется присвоенным значением.
width - ширина всей таблицы. При этом, ширина каждого столбца таблицы
подбирается автоматически на основании длины значений ячеек, составляющих данный
столбец. Ширину таблицы можно указывать в пикселях или в процентах. В последнем
случае сразу после числа ставится знак "%".
cellspacing - размер внешнего отступа от границ ячеек до соседних
ячеек или рамки таблицы.
cellpadding - размер внутреннего отступа от границ ячеек до
содержимого.
align - выравнивание таблицы. Отменен!
Для выравнивания всей таблицы используют SS.
С учетом вышеописанного модифицируем код примера 5.1.1 следующим
образом:
Теперь снабдим нашу таблицу приличной "шапкой". Подписи к столбцам таблицы
располагают в отдельной строке, содержащей элементы th - элементы
заголовка:
По сути дела, фоновый цвет или изображение, а так же другие свойства стиля
(цвет текста, шрифт, начертание, ... ), вы можете назначить для всей таблицы,
для отдельной ее строки и даже для отдельной ячейки. Для этого добавьте атрибут
style в соответствующий элемент.
Помимо прочих описанных возможностей, таблице можно дать надпись. Реализуется
это с помощью элемента caption? который обычно располагают сразу следом
за открывающим тэгом table:
Надпись обычно выравнивается по центру относительно таблицы. Для изменения
выравнивания используйте стилевое правило text-align.
Более тонко настроить внешний вид таблицы можно при помощи атрибутов
элементов <tr>,
<td> и <th>.
Выравнивание данных таблиц
Выравнивать данные таблицы можно для каждой конкретной ячейли, для всей
строки и для группы строк или столбцов (<tbody>, <thead>, <tfoot> и пр.; ).
Кроме того, данные можно выравнивать по горизонтали и вертикали. Для
горизонтального выравнивания используется атрибут align, который может принимать следующие значения:
left - по левой стороне ячейки
center - по правой стороне ячейки
right - по центру ячейки
justify - по ширине ячейки.
Для вертикальоного выравнивания используется атрибут valign. Значения этого атрибута могут быть следующими:
top - по верху ячейки
middle - по центру ячейки
bottom - по низу ячейки.
Для какого бы элемента вы ни указали атрибуты align или valign (<td>, <th>, <tr> или группе), выравнивание происходит
относительно границ каждой ячейки. Указав выравнивание для элемента
<td>, мы расположим
соответственно только его содержимое. Задав выравнивание для всей строки
<tr>, мы задаем
выравнивание для всех ячеек данной строки. Аналогичным образом и для
групп строк или столбцов.
Ниже приводится пример, демонстрирующий выравнивание данных в ячейках
таблицы:
Листинг №5.1.6: Выравнивание данных в ячейках таблицы
Для ячеек <td> и
<th> можно указать
размеры, используя стилевые свойства width и height:
width:ширина;
height:высота;
В принципе, эти стилевые свойства можно использовать не только для указания
размеров ячеек таблиц. С их помощью можно указать размеры любого блочного
элемента страницы (например - абзаца или заголовков).
Очевиден тот факт, что при указании размеров каждой ячейки таблицы, вы
формируете столбцы заданной ширины. Это означает, что общая ширина всей
таблицы будет равна суммарной ширине столбцов. Поэтому указывать общую ширину
таблицы в этом случае не следует. В нашем примере первый столбец имеет ширину
220 пикселей, второй - 150 пикселей и третий - 60 пикселей. Суммарная ширина
таблицы составит 430 пикселей (без учета ширины рамки).
Объединение ячеек
В некоторых задачах приходится строить таблицы, ячейки которых "покрывают"
несколько столбцов или строк. Чаще всего это относится к ячейкам заголовков,
реже к ячейкам данных таблицы. Ниже представлен пример такой таблицы:
Обратите внимание на "шапку" таблицы. Она состоит уже из двух строк. Это
следует принимать во внимание при оформлении таблицы.
Управление объединением ячеек происходит с помощью атрибутов элементов
<td> и <th>:
Строкам "шапки" в примере присвоен одинаковый фоновый цвет.
При построении сложных таблиц, содержащих множество объединенных ячеек, важно
помнить следующее правило: строка или столбец таблицы должны
содержать минимум одну ни с кем не объединенную ячейку! При нарушении
данного правила таблица не будет отображаться корректно.