Домашняя | Статьи | Таблицы
Ссылки
Счётчики

Rambler's Top100

Последнее изменение

27.11.2008

Статья
В практике классического сайтостроения таблицы совершенно незаменимы для… создания левых и правых полей страницы, выравнивания элементов на экране, многоколонной верстки, наложения картинок друг на друга. И, наконец, для отображения на экране табличного материала, но это — в последнюю очередь. В 90% случаев дизайнеры используют таблицы используются, как ни парадоксально это звучит, не для отображения таблиц.

Но обо всем по порядку.

Что такое таблица

Всем хорошо известна таблица умножения. Она представляет собой прямоугольник, расчерченный на клетки. Вертикальные ряды клеток образуют столбцы, горизонтальные — строки. Каждая строка и столбец в таблице может иметь свой заголовок. Заголовки записываются в первой строке и первом столбце (вернее над первой строкой и слева от первого столбца содержимого таблицы).

Заголовками строк и столбцов в таблице умножения служат цифры от одного до девяти. Пользоваться таблицей очень просто. Если требуется узнать, например, результат умножения числа 6 на число 8, то нужно прочитать ответ в клетке на пересечении столбца с заголовком “6” и строки с заголовком “8”. Или в клетке на пересечении строки с заголовком “6” и столбца с заголовком “8”. Это всё равно, потому что 6·8 = 8·6. В обеих этих клетках написано число 48.
  1 2 3 4 5 6 7 8 9
1 2 3 4 5 6 7 8 9
2 2 4 6 8 10 12 14 16 18
3 3 6 9 12 15 18 21 24 27
4 4 8 12 16 20 24 28 32 36
5 5 10 15 20 25 30 35 40 45
6 6 12 18 24 30 36 42 48 54
7 7 14 21 28 35 42 49 56 63
8 8 16 24 32 40 48 56 64 72
9 9 18 27 36 45 54 63 72 81

В общем случае таблицы используют для хранения информации с двумя характерными признаками. Значения одного признака расписано в заголовках строк, другого — в заголовках столбцов. А в каждую клетку таблицы заносят значение, одновременно обладающее признаком строки и столбца, на пересечении которых она расположена.

Для таблицы умножения признаками служат значения сомножителей. Первый признак — это значение первого сомножителя, второй — значение второго.

Как задать таблицу

Таблица задается командой <TABLE> ... </TABLE>.

Внутри этих тэгов задаются строки командами <TR> ... </TR>.

Наконец, внутри строк задаются клетки (ячейки) командами <TD> ... </TD>.

Таким образом, по строкам, описывается вся структура таблицы.

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

Рассмотрим следующий пример.

 

Программа Таблица на экране
<TABLE border=1>
  <TR>            <!-- Первая строка -->
    <TD>(1,1)</TD>     <!-- Первая ячейка -->
    <TD>(1,2)</TD>     <!-- Вторая ячейка -->
  </TR>
  <TR>            <!-- Вторая строка -->
    <TD>(2,1)</TD>     <!-- Первая ячейка -->
    <TD>(2,2)</TD>     <!-- Вторая ячейка -->
  </TR>
  <TR>            <!-- Третья строка -->
    <TD>(3,1)</TD>     <!-- Первая ячейка -->
    <TD>(3,2)</TD>     <!-- Вторая ячейка -->
  </TR>
</TABLE>
(1,1) (1,2)
(2,1) (2,2)
(3,1) (3,2)

Атрибуты команды TABLE

Атрибут Значение Описание
align left, right, center Выравнивание по горизонтали
width число или процент Ширина таблицы
cellpadding число Расстояние между содержимым ячейки и рамкой
cellspacing число Расстояние между ячейками таблицы
bgcolor цвет Цвет фона таблицы
background файл Фоновая картинка
border число Ширина линий рамки
bordercolor цвет Цвет линий рамки
bordercolordark цвет Цвет рамки (снизу и справа)
bordercolorlight цвет Светлый цвет рамки (сверху и слева)

Атрибуты команды TR

HTML-таблица состоит из строк, каждая из которых задается командой

 

 
<TR>описание ячеек табличной строки</TR>

Варьируя атрибутами команды TR, можно установить те или иные свойства одновременно для всех ячеек строки.

 

Атрибут Значения Описание
align left, center, right Выравнивание по горизонтали
valign top, middle, bottom, baseline Выравнивание по вертикали
bgcolor цвет Цвет фона
bordercolor цвет Цвет линий рамки
bordercolordark цвет Цвет рамки (снизу и справа)
bordercolorlight цвет Светлый цвет рамки (сверху и слева)

Атрибуты команды TD (TH)

Каждая табличная строка состоит из ячеек, которые последовательно описываются командами TD (обычная ячейка) и (или) TH (ячейка-заголовок):

 

<TH>описание содержимого ячейки</TH>
 
<TD>описание содержимого ячейки</TD>

Содержимое обычной ячейки по умолчанию горизонтально выравнивается по левому краю, а ячейки-заголовка — по центру. Кроме того, текст в ячейке-заголовке выделяется полужирным шрифтом.

Команды TD и TH имеют следующие атрибуты:

Атрибут Значения Описание
align left, center, right Выравнивание по горизонтали
valign top, middle, bottom, baseline Выравнивание по вертикали
width число или процент Ширина ячейки
bgcolor цвет Цвет фона
background файл Фоновая картинка
bordercolor цвет Цвет линий рамки
bordercolordark цвет Цвет рамки (снизу и справа)
bordercolorlight цвет Светлый цвет рамки (сверху и слева)
nowrap   Выключение автоматического разрыва строк
colspan число Ширина большой ячейки (в столбцах)
rowspan число Высота большой ячейки (в строках)

Многоликие таблицы

Как уже говорилось, использования таблиц в практике HTML-программирования очень неожиданные. Вероятно, авторы языка и не предполагали, что таблицы будут использоваться проектировщиками гипертекстовых страниц как элемент дизайна.

Страничные отступы

В обычных книгах текст не начинается с самого края — страничные поля выделяют информационные блоки и, следовательно, помогают глазам более комфортно воспринимать материал.

В гипертекстовом документе можно создать поля, если размещать информацию внутри таблицы, состоящей всего из одной клетки с невидимыми границами. При изменении значения атрибута cellpadding, меняется ширина полей.

 

Обычное размещение Размещение в таблице
Малютку сына — баю-бай! —
Прижми покрепче к сердцу
И никогда не забывай
Задать ребенку перцу!

“Алиса в стране Чудес”

Малютку сына — баю-бай! —
Прижми покрепче к сердцу
И никогда не забывай
Задать ребенку перцу!

“Алиса в стране Чудес”

Можно задать поля и при помощи пустых столбцов:

 

Размещение в таблице

Здесь border=1

  Баюкай сына своего
Хорошею дубиной —
Увидишь, будет у него
Характер голубиный!

“Алиса в стране Чудес”

 
  Баюкай сына своего
Хорошею дубиной —
Увидишь, будет у него
Характер голубиный!

“Алиса в стране Чудес”

 
Замечание
Не рекомендуется моделировать страничный отступ при помощи таблиц для больших документов. Во-первых, прорисовка документа, “погруженного” в таблицу начинается только после его полной загрузки. Пауза перед чистым экраном действует на пользователя самым отрицательным образом. Во-вторых, браузеры Netscape на таких табличных страницах “теряют ориентацию” при возврате из гиперссылки. Пользователь щёлкает на ссылке, браузер показывает новый документ, а точность возврата к старому месту уже проблематична.

Многоколонная верстка

Используя таблицы, можно выводить на экран информацию в несколько колонок:

При свете дрянного керосинового фонаря Остап прочел из путеводителя:
 
“На правом высоком берегу — город Васюки. Отсюда отправляются лесные материалы, смола, лыко, рогожи, а сюда привозятся предметы широкого потребления для края, отстоящего на 50 километров от железной дороги.   В городе 8000 жителей, государственная картонная фабрика с 320 рабочими, маленький чугунолитейный, пивоваренный и кожевенный заводы. Из учебных заведений, кроме общеобразовательных, лесной техникум.”

Размещение информации на экране
Таблицы, вложенные друг в друга

Используя таблицы, можно выровнять информационные блоки на экране и разместить их в соответствии с дизайн-проектом документа.

Пример:

Добро пожаловать

Картинка

Текст

Наложение картинок

Еще одна необычная практика использования таблиц: построение коллажей.

Постановка задачи. Имеются две картинки:

и

Как их наложить друг на друга? Как поместить животное на экран телевизора?

Общая идея: первую картинку сделать фоном для таблицы, а вторую разместить внутри.

Построим таблицу, состоящую из одной клетки. Укажем для этой клетки ширину, равную ширине рисунка, который будем использовать как фон:

 

Да... Получилось не очень хорошо. Для задания высоты ячейки (и таблицы) создатели HTML не придумали атрибута. Мы видим только верхний кусочек фоновой картинки.

Идея: использовать еще одну вспомогательную картинку. По высоте она должна равняться фоновой, а по ширине должна быть такой, чтобы закрывать часть телевизора. Тогда лось, расположенный вслед за вспомогательной картинкой попадет в центр экрана.

Нарисовать вспомогательную картинку очень просто — это должен быть одноцветный GIF, в котором единственный цвет объявлен прозрачным. Тогда пользователь на экране эту картинку и не увидит:

Пример

Показать программу

Замечание
На самом деле рисовать невидимый GIF можно любой величины. Оптимальной является картинка в один пиксел. Ведь мы всегда можем указать экранные размеры в команде IMG, и наша вспомогательная картинка будет растягиваться до нужного размера. Искажений можно не опасаться — их не будет, а кроме того, эту картинку нельзя увидеть на экране ни в какую лупу!

Для того, чтобы использование невидимой картинки empty.gif (из каталога pic) было более понятным, ниже она заменена на такую же однопикселную картинку empty1.gif, но без режима “прозрачности”, а картинка с лосем показана с рамкой:

 

Пример

>Назад<

Хостинг от uCoz