|   |
Таблицы явлются важнейшим элементом HTML-документов, т.к. кроме богатых возможностей по представлению структурированных данных они широко применяются как средство дл создания "каркасов" Web-страниц.
Таблицы в HTML определяются при помощи контейнера <TABLE>...</TABLE>, заключающего в себе другие элементы таблицы: название, заголовки ячеек и их содержимое. Атрибутами контейнера <TABLE> задается формат линии-сетки и общие правила форматирования (общий формат действуют, если иной формат не задан атрибутами формата конкретных строк и ячеек ).
Наименование таблицы определяется при помощи контейнера <CAPTION>...</CAPTION>. Выравнивание наименования задается при помощи атрибута ALIGN, который может принимать значения TOP (сверху таблицы) и BOTTOM (снизу таблицы).
Данные в таблице организованы построчно, каждая новая строка таблицы задается тегом <TR>...</TR> (закрывающий тег контейнера </TR> можно не использовать). Для каждой строки таблицы при помощи специальных атрибутов тега <TR> можно управлять общим форматированием составлющих строку ячеек.
Строки таблицы разбиваются на ячейки при помощи тегов ячеек-заголовков <TH>...</TH> и тегов ячеек-данных <TD>...</TD> (допускается форма записи без закрывающих тегов). Как и для строк таблицы при помощи специальных атрибутов тегов <TD> и <TH> можно управлять форматированием конкретных ячеек таблицы.
Структура таблицы:
<TABLE> - начало контейнера таблицы
<CAPTION> название таблицы </CAPTION>
<TR> <TH> 1 заголовок </TH>…<TH> N заголовок </TH> </TR> - первая строка / шапка
<TR> <TD> ячейка 1/1 </TD>…<TD> ячейка N/1 </TD> </TR> - 1 строка
<TR> <TD> ячейка 1/i </TD>…<TD> ячейка N/i </TD> </TR> - i строка
<TR> <TD> ячейка 1/M </TD>…<TD> ячейка N/M </TD> </TR> - последняя строка
</TABLE> - конец контейнера таблицы
Таким образом, простейшая таблица, без линий сетки, в HTML-документе определяется следующим образом:
<TABLE>
<CAPTION ALIGN=TOP>Список друзей и подруг</CAPTION>
<TR><TH>ФИО</TH><TH>Телефон</TH></TR>
<TR><TD>Иванов Иван Иваныч</TD><TD>35-35-35</TD></TR>
<TR><TD>Валина Валентина Валентиновна</TD><TD>46-46-46</TD></TR>
</TABLE>
А вот, что у нас получится в окне броузера:
ФИО | Телефон |
---|---|
Иванов Иван Иваныч | 35-35-35 |
Валина Валентина Валентиновна | 46-46-46 |
Для выравнивания элементов таблиц в тегах <TABLE>,<TH> и <TD> используется много различных атрибутов. Рассмотрим наиболее полезные и общеупотребимые из них:
Атрибут | Теги | Описание |
---|---|---|
ALIGN | <TABLE> | Общее горизонтальное выравнивание таблицы на странице - LEFT/RIGHT/CENTER |
<TR> | Общее выравнивание элементов строки - LEFT/RIGHT/CENTER/CHAR | |
<TH> | Выравнивание заголовка - LEFT/RIGHT/CENTER/CHAR (по умолчанию CENTER) | |
<TD> | Выравнивание данных в ячейке - LEFT/RIGHT/CENTER/CHAR (по умолчанию LEFT ) | |
CHAR | ALIGN=CHAR | Задает символ-выравниватель, при использование атрибута выравнивания ALIGN=CHAR.
Например: <TR ALIGN=CHAR CHAR=","><TD>1,35</TD></TR> |
CHAROFF | ALIGN= CHAR | Задает отступ (в % ширины ячейки или в пикселях) относительно начала ячейки,
символов заданных атрибутом CHAR. Например: <TR ALIGN=CHAR CHAR="," CHAROFF="10%"> <TD>1,35</TD><TD>-1,45</TD></TR> |
VALIGN | <TABLE> | Общее вертикальное выравнивание элементов таблицы - BOTTOM/MIDDLE/TOP (по умолчанию MIDDLE ). |
<TR> | Общее выравнивание элементов строки - BOTTOM/MIDDLE/TOP/BASELINE | |
<TH> | Выравнивание заголовка - BOTTOM/MIDDLE/TOP | |
<TD> | Выравнивание данных в ячейке - BOTTOM/MIDDLE/TOP | |
CELLPADDING | <TABLE> | Свободное пространство между содержимым ячеек и их границами |
CELLSPACING | <TABLE> | Свободное пространство между границами смежных ячеек |
WIDTH | <TABLE> | Ширина таблицы в пикселях или процентах ширины окна броузера. |
<TH>,<TD> | Ширина ячейки таблицы в пикселях или процентах от ширины таблицы. | |
HEIGHT | <TABLE> | Высота таблицы в пикселях или процентах ширины окна броузера |
<TH>,<TD> | Высота ячейки таблицы в пикселях или процентах от ширины таблицы. |
Для управления линиями сетки таблиц используется атрибут BORDER контейнера <TABLE>, который задает толщину рамки таблицы в пикселях (по умолчанию рамки нет, BORDER=0). В стандарте HTML 4, появились новые атрибуты таблиц, строк и ячеек: FRAME для более гибкого управления линиями сетки таблиц и RULES для создания дополнительных линий разделителей групп в таблицах.
Данные атрибуты поддерживаются современными броузерами и могут принимать следующие значения:
Атрибут FRAME:
Атрибут RULES:
Например:
<TABLE >...</TABLE> равнозначно <TABLE FRAME=VOID>...</TABLE>
<TABLE BORDER>...</TABLE> равнозначно <TABLE FRAME=BOX>...</TABLE>
Атрибуты управления цветом элементов таблиц появились в HTML как расширения стандарта, предлагаемые основными поставщиками Web-броузеров (Microsoft и Netscape).
Расширения управления цветом: BORDERCOLOR - цвет рамки и BGCOLOR - цвет фона, используются как атрибуты для тегов: <TABLE>, <TR>, <TH>, <TD>. Соответственно областью их действия может быть вся таблица, строка или отдельно взятая ячейка.
Например:
<TABLE BORDER BORDERCOLOR=RED BGCOLOR=YELLOW>...</TABLE> - таблица.
<TR BORDERCOLOR=RED BGCOLOR=YELLOW></TR> - строка.
<TD BORDERCOLOR=RED BGCOLOR=YELLOW></TD> - ячейка.
Для создания сложных таблиц не обойтись без объединения строк и столбцов. Для объединения ячеек соседних строк и столбцов таблицы, в HTML используются атрибуты ROWSPAN и COLSPAN тегов <TH> и <TD>. Данные атрибуты задают количество объединемых ячеек в строке (ROWSPAN=N) или столбце (COLSPAN=N). Рассмотрим использование данных атрибутов на примере таблицы.
HTML код таблицы:
<TABLE BORDER ALIGN=CENTER>
<TR ALIGN=CENTER>
<TH COLSPAN=3>ДРУЗЬЯ И ПОДРУГИ</TH>
</TR>
<TR ALIGN=CENTER>
<TD ROWSPAN=2>ДРУЗЬЯ</TD><TD>Коля</TD><TD>44-44-44</TD>
</TR>
<TR ALIGN=CENTER>
<TD>Вася</TD><TD>33-33-33</TD>
</TR>
<TR ALIGN=CENTER>
<TD ROWSPAN=2>ПОДРУГИ</TD><TD>Маша</TD><TD>11-11-11</TD>
</TR>
<TR ALIGN=CENTER>
<TD>Глаша</TD><TD>22-22-22</TD>
</TR>
</TABLE>
Внешний вид таблицы:
ДРУЗЬЯ И ПОДРУГИ | ||
---|---|---|
ДРУЗЬЯ | Коля | 44-44-44 |
Вася | 33-33-33 | |
ПОДРУГИ | Маша | 11-11-11 |
Глаша | 22-22-22 |
В стандарте HTML 4 повились новые теги для группировки (не объединения, а именно группировки) строк и столбцов таблицы в группы с общими свойствами. Это теги <COLGROUP> и <COL> - группировка и описание свойств столбцов, <THEAD> - определение шапки таблицы, <TBODY> - определение группы тело-таблицы, <TFOOT> - определение нижней строки. Полезным атрибутом тегов <COLGROUP> и <COL> является атрибут SPAN=N, который распространяет свойства, заданные данными тегами на N-столбцов в группе.
Использование данных тегов существенно облегчает компоновку и форматирование таблиц. Схема их применения следующая (в данном примере применяется одиночная форма записи тегов <THEAD>, <TBODY> и <TFOOD>, но в случае использования одного из них, необходимо применять контейнерную форму):
<TABLE атрибуты таблицы>
<COLGROUP общие атрибуты 1-ой группы>
<COL SPAN=10 доп. атрибуты первых 10 столбцов таблицы>
<COL доп. атрибуты 11 столбца таблицы>
...
<COLGROUP общие атрибуты последней группы>
<COL доп. атрибуты j столбца таблицы>...<COL доп. атрибуты N столбца таблицы>
<THEAD>
<TH><TH>1 заголовок</TH>...<TH>N заголовок</TH><TR>
<TBODY>
<TR><TD>1 столбец</TD>...<TD>N столбец</TD><TR>
...
<TR><TD>1 столбец</TD>...<TD>N столбец</TD><TR>
<TFOOT>
<TR><TD>1 итоговый столбец</TD>...<TD>N итоговый столбец</TD><TR>
</TABLE>
Для демонстрации возможностей новых тегов рассмотрим два варианта, какой из них проще - вам решать, но результат получится один и тот же.
Старый подход | Новый подход |
---|---|
<table border align=center>
|
<table border align=center>
|
А вот результат обоих наших деяний:
тип | название | 1998 | 1999 | 2000 |
---|---|---|---|---|
тип1 | название1 | 1,2 | 1,3 | 1,4 |
тип2 | название2 | 2,2 | 2,3 | 2,4 |
Ну и по доброй традиции, для закрепления материала, рассмотрим пример HTML документа, использующего таблицы (обратите внимание, что размер ячеек, содержащих изображение, задан соответствующим размеру изображения).
Пример 5. Форматирование таблиц. [просмотр примера в окне]
<HTML>
<HEAD>
<TITLE>Использование таблиц в документах</TITLE>
</HEAD>
<BODY BGCOLOR="WHITE", TEXT="BLACK", LINK="BLUE", ALINK="RED", VLINK="NAVY">
<H1 align=center>Список моих друзей и подруг</H1>
</P>
<TABLE BORDER ALIGN=CENTER VALIGN=MIDDLE WIDTH="50%">
<TR BGCOLOR=#FAD503>
<TH>Категория</TH><TH>ФИО</TH><TH>Фото</TH><TH>Телефон</TH>
</TR>
<TR ALIGN=CENTER>
<TD ROWSPAN=2 BGCOLOR=#05C9FA>ДРУЗЬЯ</TD><TD>Коликов Коля</TD>
<TD WIDTH=50 HEIGHT=50><IMG SRC="boy1.gif"></TD><TD>44-44-44</TD>
</TR>
<TR ALIGN=CENTER>
<TD>Васюков Вася</TD>
<TD WIDTH=50 HEIGHT=50><IMG SRC="boy2.gif"></TD><TD>33-33-33</TD>
</TR>
<TR ALIGN=CENTER>
<TD ROWSPAN=2 BGCOLOR=#F9ACDE>ПОДРУГИ</TD><TD>Машина Маша</TD>
<TD WIDTH=50 HEIGHT=50><IMG SRC="girl1.gif"></TD><TD>11-11-11</TD>
</TR>
<TR ALIGN=CENTER>
<TD>Глашева Глаша</TD>
<TD WIDTH=50 HEIGHT=50><IMG SRC="girl2.gif"></TD><TD>22-22-22</TD>
</TR>
</TABLE>
</P>
<HR>
<P ALIGN=CENTER>© 2001 Вебмастер
<A HREF="mailto:myname@mail.ru">Попробуй свзаться со мной</A>
</BODY>
</HTML>
В заключении следует отметить, что таблицы очень удобный инструмент для компоновки и форматирования элементов Web-страниц. Использование таблиц без линий сетки позволяет жестко связать текстовые блоки документа с графикой и другими объектами.
Например, кнопки управления, которыми вы пользуетесь для навигации по моим страницам - это то же таблица (проверьте посмотрев источник HTML). Используя таблицы, можно создавать альтернативы картам ссылок, рассмотренным в предыдущей главе.
  |   | |
Ваши вопросы и замечания прошу направлять dmitriy_v_k@hotmail.com
© 2001 Дмитрий Красюк
Дата последней модификации: Пятница Март 30, 2001.