![]() |
![]() |
|
![]() |
![]() |
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
01. Кодирование таблицВ практике сайтостроения таблицы используют для создания полей, рамок, выравнивания объектов, многоколонной верстки, наложения картинок И, наконец, для отображения на экране табличного материала, но это в последнюю очередь! В 90% случаев дизайнеры используют таблицы, как ни парадоксально это звучит, не для отображения таблиц. Но обо всем по порядку. На этой странице:
|
(1,1) | (1,2) |
(2,1) | (2,2) |
(3,1) | (3,2) |
Атрибуты элемента TABLE описаны ниже.
Атрибут | Значение | Описание |
---|---|---|
align | left, right, center | Выравнивание таблицы по горизонтали. По умолчанию таблица выравнивается слева без обтекания её другими элементами. |
width | Число или процент | Ширина таблицы. По умолчанию размер таблицы определяется содержимым и способом форматирования, заданным в ячейках. |
height | Число или процент | Высота таблицы. По умолчанию размер таблицы определяется содержимым и способом форматирования, заданным в ячейках. |
cellpadding | Число | Расстояние между содержимым ячейки и её рамкой. По умолчанию значение задаётся браузером, обычно 2. |
cellspacing | Число | Расстояние между рамками ячеек таблицы. По умолчанию значение задаётся браузером, обычно 1. |
bgcolor | Цвет | Цвет фона таблицы. По умолчанию фон прозрачный. |
background | URL файла | Фоновая картинка |
border | Число | Толщина линий рамки. По умолчанию border=0. |
bordercolor | Цвет | Цвет линий рамки. Если значение border отлично от нуля, то табличная рамка отображается с эффектом трёхмерности. Добавление атрибута bordercolor обеспечивает плоские рамки заданного атрибутом цвета. |
Этот атрибут позволяет определять положение таблицы по отношению к соседним элементам документа. То есть атрибут align имеет для таблиц тот же смысл, что и для картинок.
<TABLE align=left> | ||||||
Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. |
<TABLE align=right> | ||||||
Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. |
<TABLE align=center> | ||||||
Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст.
Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. |
Если атрибут не задан, таблица выравнивается по левому краю окна, а другие элементы страницы располагаются выше или ниже (обтекания не происходит):
<TABLE> | ||||||
Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст.
Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. Текст. |
Отметим, что обтекание, заданное атрибутом align, прекращается элементом BR с атрибутом clear:
<BR clear=left> | Прекращение обтекания справа |
<BR clear=right> | Прекращение обтекания слева |
<BR clear=all> | Прекращение обтекания с обеих сторон |
Выровнять таблицу (в том числе без обтекания) можно, если поместить её код внутрь блочного элемента (например, в P или в DIV). Для блока указывается нужное выравнивание соответствующим атрибутом (align ) или соответствующим стилевым свойством (text-align).
Эта таблица
(1,1) | (1,2) |
(2,1) | (2,2) |
(3,1) | (3,2) |
выровнена по правому краю без обтекания при помощи кода:
А эта таблица
(1,1) | (1,2) |
(2,1) | (2,2) |
(3,1) | (3,2) |
выровнена по центру при помощи кода:
Если эти атрибуты не задан, браузер нарисует таблицу минимальных размеров вокруг данных, которые она содержит. Записи width=число и height=число заставляет браузер рисовать таблицу шириной и высотой в указанное число пикселов.
В стандарте W3C описан только атрибут width, но современные браузеры поддерживают и атрибут height также.
Атрибут cellpadding задаёт расстояние между рамкой (границей) таблицы и содержимым ячеек, атрибут cellspacing расстояние между рамками соседних ячеек. Если атрибуты не заданы, браузер устанавливает эти расстояния по умолчанию, обычно cellpadding=1 и cellspacing=2.
Заметим, что когда значение атрибута cellspacing отлично от нуля, каждая ячейка обрамляется отдельной рамкой.
Если эти атрибуты не заданы, элементы таблицы выводятся прямо на фон документа и таблица выглядит прозрачной. Атрибут bgcolor задаёт цвет фона таблицы, а атрибут background паркетный фон.
Первый атрибут задает толщину рамки (границы) таблицы, второй цвет этой рамки. Если задано значение border=0, то табличная рамка, а заодно и рамки клеток, не рисуются.
Если значение border отлично от нуля, то табличная рамка отображается с эффектом трёхмерности. Добавление атрибута bordercolor обеспечивает плоские рамки.
В браузере Opera атрибут bordercolor не работает.
border=0 cellpadding=10 cellspacing=0 |
|
||||||
border=2 cellpadding=10 cellspacing=1 |
|
||||||
border=5 bordercolor=red cellpadding=10 cellspacing=0 |
|
||||||
border=5 bordercolor=red cellpadding=10 cellspacing=5 |
|
||||||
![]() border= bordercolor= cellpadding= cellspacing= |
|
HTML-таблица состоит из строк, каждая из которых задаётся элементом:
Используя атрибуты элемента TR, можно установить те или иные свойства одновременно для всех ячеек строки.
Атрибут | Значение | Описание |
---|---|---|
align | left, right, center | Выравнивание содержимого ячеек по горизонтали. По умолчанию содержимое обычных ячеек (TD) выравнивается слева, ячеек-заголовков (TH) по центру. |
valign | top, middle, bottom | Выравнивание содержимого ячеек по вертикали. По умолчанию содержимое ячеек выравнивается по центру. |
bgcolor | Цвет | Цвет фона ячеек в строке. По умолчанию фон ячеек совпадает с фоном таблицы. |
Атрибут align определяет горизонтальное выравнивание. Если атрибут не задан, содержимое ячеек выравнивается по левому краю ячейки, точно так же, как при значении align=left. Значение align=right задает выравнивание по правому краю ячейки, а значение align=center по центру ячейки.
Атрибут valign определяет вертикальное выравнивание содержимого ячеек: top по верхнему краю ячейки, bottom по нижнему, middle по центру ячейки. По умолчанию (если атрибут не задан) браузер центрирует содержимое ячеек по вертикали.
align= valign= |
|
Если атрибут bgcolor не задан, содержимое ячеек таблицы выводится на фоне, установленном для таблицы или на фоне документа, если фон таблицы не задан. Атрибут bgcolor позволяет задать собственный фоновый цвет для всех ячеек в строке .
bgcolor= |
|
Каждая табличная строка состоит из ячеек, которые последовательно описываются элементами TD (обычная ячейка) и/или TН (ячейка-заголовок):
Содержимое обычной ячейки (TD) по умолчанию выравнивается слева по горизонтали и по центру по вертикали.
Содержимое ячейки-заголовка (TН) по умолчанию выравнивается по центру, как по горизонтали, так и по вертикали. Кроме того, текст в ячейке-заголовке выделяется (полужирным начертанием шрифта).
Атрибуты элементов TD и TН приведены в таблице:
Атрибут | Значение | Описание |
---|---|---|
align | left, right, center | Выравнивание содержимого ячейки по горизонтали. По умолчанию выравнивание определяется аналогичным атрибутом элемента TR, который содержит данную ячейку, а если выравнивание в элементе TR не задано, то содержимое обычных ячеек (TD) выравнивается слева, ячеек-заголовков (TH) по центру. |
valign | top, middle, bottom | Выравнивание содержимого ячейки по вертикали. По умолчанию выравнивание определяется аналогичным атрибутом элемента TR, который содержит данную ячейку, а если выравнивание в элементе TR не задано, то содержимое ячеек выравнивается по центру. |
width | Число или процент | Ширина ячейки. Если атрибут не задан, размер определяется по содержимому и заданному способу форматирования. |
height | Число или процент | Высота ячейки. Если атрибут не задан, размер определяется по содержимому и заданному способу форматирования. |
bgcolor | Цвет | Цвет фона ячейки. По умолчанию работает аналогичный атрибут в элементе-родителе TR, а если он не задан, атрибут в элементе TABLE. Если фон не задан и в элементе TABLE, фон ячеек прозрачный. |
background | URL файла | Фоновая картинка для ячейки |
nowrap | Выключение автоматического перевода строк. Если атрибут не задан, текст форматируется под размеры ячейки. | |
colspan | Число | Ширина составной ячейки в столбцах |
rowspan | Число | Высота составной ячейки в строках |
Атрибуты, совпадающие с атрибутами для строки и таблицы, имеют тот же смысл, но относятся к отдельной ячейке.
Рассмотрим подробнее новые атрибуты.
Обычно браузер форматирует содержимое ячейки таблицы так же, как и текст абзаца на всей странице.
(1,1) | (1,2) |
(2,1) | Грозный Генька-генератор грубо грыз горох горстями начала было машина, но Трурль подскочил к пульту управления, нажал на рубильник и, заслонив его собственным телом, промолвил сдавленным голосом: |
(3,1) | (3,2) |
То есть, когда очередное слово не помещается в строке, оно вместе с остатком переносится на следующую строку. И так происходит до тех пор, пока браузер не уложит весь текст в оконные строки. Полученный абзац виден на экране по ширине целиком и не требует горизонтальной прокрутки, даже если он очень длинный.
Атрибут nowrap (у него нет присваиваемых значений) запрещает браузеру выполнять описанное выше автоматическое форматирование. При больших абзацах и небольших размерах окна этот приём вынуждает браузер показывать горизонтальную полосу прокрутки.
Как уже говорилось, горизонтальная прокрутка не способствует улучшению комфорта для пользователя, поэтому применение атрибута nowrap ограничивается специальными (и довольно редкими) случаями.
Атрибут colspan=n определяет, сколько табличных столбцов (n) займёт ячейка в пределах строки.
Пример использования атрибута colspan приводится ниже.
Схема кода таблицы примера показана на рисунке:
Атрибут rowspan=n определяет, сколько табличных строк (n) займёт ячейка в пределах столбца. Пример использования атрибута rowspan показан ниже.
Схема кода таблицы примера показана на рисунке:
Элемент CAPTION помещается внутрь контейнера TABLE (вне табличных строк) и задаёт заголовок таблицы.
По умолчанию заголовок размещается сверху таблицы и выравнивается по её центру. Другое расположение для заголовка можно задать при помощи атрибута align:
Значение | Описание |
---|---|
top | Заголовок располагается сверху таблицы и выравнивается по центру |
bottom | Заголовок располагается снизу таблицы и выравнивается по центру |
left | Заголовок располагается сверху таблицы и выравнивается слева |
right | Заголовок располагается сверху таблицы и выравнивается справа |
Атрибутом align нельзя задать, например, заголовок, расположенный снизу и выровненный по левому краю. Ситуацию можно исправить использованием стилевых свойств:
Разные браузеры немного по-разному выводят заголовок таблицы. Например, браузер IE выравнивает заголовок слева не по краю таблицы, а по уровню ячеек первого столбца.