Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Интернет технологии -> HTML / DHTML -> Основы языка разметки гипертекста - HTML


3. Основы форматирования

3.3. Форматирование табличных данных

Таблицы явлются важнейшим элементом 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:

  • VOID - без рамки;

  • BOX - с рамкой;

  • ABOVE - верхняя сторона рамки;

  • BELOW - нижняя сторона рамки;

  • LHS - левая сторона рамки;

  • RHS - правая сторона рамки;

  • VSIDES - вертиккальные линии;

  • HSIDES - горизонтальные линии;

Атрибут RULES:

  • NONE - без разделителя групп;

  • GROUPS - вертикальные и горизонтальные линии разделители групп;

Например:

<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>
<tr>
<th width=80>тип
<th width=120>название
<th width=50>1998
<th width=50>1999
<th width=50>2000
</tr>
<tr align=center>
<td width=80>тип1
<td width=120>название1
<td width=50 align=right>1,2
<td width=50 align=right>1,3
<td width=50 align=right>1,4
</tr>
<tr align=center>
<td width=80>тип2
<td width=120>название2
<td width=50 align=right>2,2
<td width=50 align=right>2,3
<td width=50 align=right>2,4
</tr>
</table>
<table border align=center>
<col width=80 align=center>
<col width=120 align=center>
<col width=50 align=right span=3>
<tr>
<th>тип<th>название
<th align=center>1998<th align=center>1999<th align=center>2000
</tr>
<tr>
<td>тип1<td>название1
<td>1,2<td>1,3<td>1,4
</tr>
<tr>
<td>тип2<td>название2
<td>2,2<td>2,3<td>2,4
</tr>
</table>

А вот результат обоих наших деяний:

типназвание199819992000
тип1название11,21,31,4
тип2название22,22,32,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>&copy 2001 Вебмастер
<A HREF="mailto:myname@mail.ru">Попробуй свзаться со мной</A>
</BODY>
</HTML>

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

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

[ Содержание ] [ Вперед ]


 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100