Архив рубрики: Блочные теги

Теги th и td — ячейки таблицы

Ячейки таблицы: тэги TH и TD

<!ELEMENT (TH|TD)  - O (%flow;)*       -- ячейка заголовка таблицы, ячейка данных таблицы -->

<!-Для большинства таблиц атрибут scope проще, чем атрибут axes -->
<!ENTITY % Scope "(row|col|rowgroup|colgroup)">

<!-- TH используется для заголовков, TD - для данных, но для ячеек, служащих и тем, и другим используйте TD -->
<!ATTLIST (TH|TD)                      -- заголовок ячейки данных --  %attrs;                              -- %coreattrs, %i18n, %events --  abbr        %Text;         #IMPLIED  -- сокращение для ячейки заголовка --  axis        CDATA          #IMPLIED  -- группы имен связанных заголовков --  headers     IDREFS         #IMPLIED  -- список id для ячеек заголовков --  scope       %Scope;        #IMPLIED  -- область ячеек заголовков --  rowspan     NUMBER         1         -- число строк, spanned ячейкой --  colspan     NUMBER         1         -- число столбцов, spanned ячейкой --  %cellhalign;                         -- горизонтальное выравнивание в ячейках --  %cellvalign;                         -- вертикальное выравнивание в ячейках --
  >

Начальный тег: обязателен, Конечный тег: не обязателен

Определения атрибутов

headers = idrefs[CS]
В этом атрибуте указывается список ячеек заголовков, предоставляющих заголовочную информацию для текущей ячейки данных. Значением этого атрибута является разделенный пробелами список названий ячеек; имена ячейкам должны даваться с помощью атрибута id. Авторы обычно используют атрибут headers с целью помочь невизуальным агентам пользователей в генерации заголовков ячеек данных (например, заголовок произносится перед прочтением данных ячейки), но этот атрибут может также использоваться вместе с таблицами стилей. См. также атрибут scope.
scope = имя области действия [CI]
Этот атрибут определяет набор ячеек данных, для которых заголовочная информация задается текущим заголовком. Этот атрибут может использоваться вместо атрибута a href=»tables.html#adef-headers»>headers, особенно в простых таблицах. Если этот атрибут используется, он должен иметь одно из следующих значений:

  • row: В ячейке представлена заголовочная информация для оставшейся части строки, в которой содержится эта ячейка (см. также раздел о направлении таблиц).
  • col: В текущей ячейке представлена заголовочная информация для оставшейся части столбца, в котором содержится эта ячейка.
  • rowgroup: В ячейке представлена заголовочная информация для оставшейся группы строк, в которой содержится эта ячейка.
  • colgroup: В ячейке представлена заголовочная информация для оставшейся группы столбцов, в которой содержится эта ячейка.
abbr = текст [CS]
Этот атрибут следует использовать для представления сокращенной формы содержимого ячейки; он может генерироваться агентами пользователей в подходящий момент вместо содержимого ячейки. Сокращенные имена должны быть короче, и агенты пользователей могут повторять их. Например, синтезаторы речи могут генерировать сокращенные заголовки, относящиеся к определенной ячейке, перед генерацией содержимого ячейки.
axis = cdata [CI]
Этот атрибут может использоваться вместо ячейки в концептуальных категориях, которая может использоваться для формирования axes в n-мерном пространстве. Агенты пользователей могут давать пользователям доступ к этим категориям (например, пользователь может запрашивать у агента все ячейки, принадлежащие к определенной категории, агент пользователя может представлять таблицу в форме оглавления и т.д.). Подробнее см. в разделе о категоризации ячеек. Значением этого атрибута является список имен категорий, разделенных запятыми.
rowspan = число [CN]
Этот атрибут определяет число строк, spanned текущей ячейкой. По умолчанию используется значение один («1″). Значение ноль («0″) означает, что ячейка spans все строки от текущей до последней строки таблицы.
colspan = число [CN]
Этот атрибут определяет число столбцов, spanned текущей ячейкой. По умолчанию используется значение один («1″). Значение ноль («0″) означает, что ячейка spans все столбцы от текущего до последнего столбца таблицы.
nowrap [CI]
Нежелателен. Если этот логический атрибут используется, он сообщает визуальным агентам пользователей о необходимости отключить автоматическое разбиение текста для этой ячейки. Для разбиения строк вместо этого атрибута должны использоватьсятаблицы стилей. Примечание. при невнимательном использовании этот атрибут может привести к тому, что ячейки будут очень широкими.
width = пикселы [CN]
Нежелателен. Этот атрибут дает агентам пользователей рекомендуемую ширину ячейки.
height = пикселы [CN]
Нежелателен. Этот атрибут дает агентам пользователей рекомендуемую высоту ячейки.

Атрибуты, определяемые в любом другом месте

  • id, class (идентификаторы в пределах документа)
  • lang (информация о языке), dir (направление текста)
  • title (заголовок элемента)
  • style (встроенная информация о стиле )
  • onclick, ondblclick, onmousedown, onmouseup,
    onmouseover, onmousemove, onmouseout,
    onkeypress, onkeydown, onkeyup (внутренние события)
  • bgcolor (цвет фона)
  • align, char, charoff, valign (выравнивание в ячейках)

Ячейки таблицы могут содержать информацию двух типов: заголовочную информацию и данные. Это различие позволяет агентам пользователей генерировать ячейки заголовков и данных различным образом даже при отсутствии таблиц стилей. Например, визуальные агенты пользователей могут представлять текст ячеек заголовков жирным шрифтом. Синтезаторы речи могут выделять заголовочную информацию голосом.

Элемент TH определяет ячейку, содержащую информацию заголовка. Агентам пользователей доступны две части заголовочной информации: содержимое элемента TH и значение атрибута abbr. Агенты пользователей должны генерировать содержимое ячейки или значение атрибута abbr. Для визуальных устройств последнее может иметь смысл, если пространства для генерации полного содержимого ячейки недостаточно. Для невизуальных устройств abbr может использоваться в качестве сокращения для заголовков таблиц, когда они генерируются вместе с содержимым ячеек, к которым они относятся.

Атрибуты headers и scope также позволяют авторам помочь невизуальным агентам пользователей в обработке информации заголовка. Подробную информацию и примеры см. в разделе о пометке ячеек для невизуальных агентов пользователей.

Элемент TD определяет ячейку, содержащую данные.

Ячейка может быть пустой (т.е. не содержать данных).

Например, в следующей таблице содержится четыре столбца данных, каждый столбец имеет заголовок.

<TABLE summary="В этой таблице показан график числа
                   чашек кофе, выпиваемых каждым сенатором, тип
                   кофе (без кофеина или обычный) и наличие сахара.">
<CAPTION>Сколько чашек кофе выпивает каждый сенатор</CAPTION>
<TR>
   <TH>Имя</TH>
   <TH>Число чашек</TH>
   <TH>Тип кофе</TH>
   <TH>Сахар?</TH>
<TR>
   <TD>Т. Секстон</TD>
   <TD>10</TD>
   <TD>Эспрессо</TD>
   <TD>Нет</TD>
<TR>
   <TD>Дж. Диннен</TD>
   <TD>5</TD>
   <TD>Без кофеина</TD>
   <TD>Да</TD>
</TABLE>

Агент пользователя, выполняющий генерацию для терминала, может отобразить это следующим образом:

Имя Число чашек Тип кофе Сахар?
Т. Секстон    10         Эспрессо         Нет
Дж. Диннен    5          Без кофеина       Да

Ячейки, span несколько строк или столбцов

Ячейки могут span несколько строк или столбцов. Число строк или столбцов, spanned ячейкой, устанавливается с помощью атрибутовrowspan и colspan элементов TH и TD.

В этом определении таблицы мы указываем, что ячейка в четвертой строке во втором столбце span все три столбца, включая текущий.

<TABLE border="1">
<CAPTION> Сколько чашек кофе выпивает каждый сенатор </CAPTION>
<TR><TH>Имя<TH>Число чашек<TH>Тип кофе<TH>Сахар?
<TR><TD>Т. Секстон<TD>10<TD>Эспрессо<TD>Нет
<TR><TD>Дж. Диннен<TD>5<TD>Без кофеина<TD>Да
<TR><TD>А. Сориа<TD colspan="3"><em>Нет данных</em>
</TABLE>

На терминале эта таблица может генерироваться следующим образом:

Сколько чашек кофе выпивает каждый сенатор
 ----------------------------------------------
 |   Имя    |Число чашек|Тип кофе      |Сахар?|
 ----------------------------------------------
 |Т. Секстон|10         |Эспрессо      |Нет   |
 ----------------------------------------------
 |Дж. Диннен|5          |Без кофеина   |Да    |
 ----------------------------------------------
 |А. Сориа  |Нет данных                       |
 ----------------------------------------------

В следующем примере показано (с помощью границ таблицы), как определения ячеек, span несколько строк или столбцов, влияют на определения следующих ячеек. Рассмотрите следующее определение таблицы:

<TABLE border="1">
<TR><TD>1 <TD rowspan="2">2 <TD>3
<TR><TD>4 <TD>6
<TR><TD>7 <TD>8 <TD>9
</TABLE>

Поскольку ячейка «2″ spans первую и вторую строки, определение второй строки будет принято во внимание. Таким образом, второй элемент TD в строке два в действительности определяет третью ячейку строки. Визуально на терминале таблица может генерироваться следующим образом:

-------------
| 1 | 2 | 3 |
----|   |----
| 4 |   | 6 |
----|---|----
| 7 | 8 | 9 |
-------------

а графический агент пользователя может представить ее так:

 

Помните, что, если элемент TD, определяющий ячейку «6″, опущен, агенты пользователя будут добавлять дополнительную пустую ячейку, чтобы заполнить строку.

Точно так же в следующем определении таблицы:

<TABLE border="1">
<TR><TD>1 <TD>2 <TD>3
<TR><TD colspan="2">4 <TD>6
<TR><TD>7 <TD>8 <TD>9
</TABLE>

ячейка «4″ spans два столбца, так что второй элемент TD в строке на самом деле определяет третью ячейку («6″):

-------------
| 1 | 2 | 3 |
--------|----
| 4     | 6 |
--------|----
| 7 | 8 | 9 |
-------------

Графический агент пользователя может представить это следующим образом:

 

Определение перекрывающихся ячеек является ошибкой. Агенты пользователей могут по-разному обрабатывать эту ошибку (например, они могут по-разному генерировать такие таблицы).

В следующем примере недопустимого использования показано, как можно создать перекрывающиеся ячейки. В этой таблице ячейка «5″ spans две строки, а ячейка «7″ spans два столбца, так что они обе используют ячейку между «7″ и «9″:

<TABLE border="1">
<TR><TD>1 <TD>2 <TD>3
<TR><TD>4 <TD rowspan="2">5 <TD>6
<TR><TD colspan="2">7 <TD>9
</TABLE>

Тег tr — строка таблицы

Строки таблицы: тэг TR

Начальный тег: обязателен, Конечный тег: не обязателен

Атрибуты, определяемые в любом другом месте

  • id, class (идентификаторы в пределах документа)
  • lang (информация о языке), dir (направление текста)
  • title (заголовок элемента)
  • style (встроенная информация о стиле )
  • onclick, ondblclick, onmousedown, onmouseup,
    onmouseover, onmousemove, onmouseout,
    onkeypress, onkeydown, onkeyup (внутренние события)
  • align, char, charoff, valign (выравнивание в ячейках)

Элементы TR служат контейнерами для строки ячеек таблицы. Конечный тег можно опустить.

Эта простая таблица состоит из трех строк, каждая из которых начинается с элемента TR:

<TABLE summary="В этой таблице показан график числа
                   чашек кофе, выпиваемых каждым сенатором, тип
                   кофе (без кофеина или обычный) и наличие сахара.">
<CAPTION>Сколько чашек кофе выпивает каждый сенатор</CAPTION>
<TR> ...Строка заголовка...
<TR> ...Первая строка данных...
<TR> ...Вторая строка данных...
...продолжение таблицы...
</TABLE>

Теги colgroup и col — группы столбцов таблицы

Группы столбцов: тэги COLGROUP и COL

Группы столбцов позволяют создавать структурные подразделения внутри таблицы. Авторы могут выделять такую структуру с помощью таблиц стилей или атрибутов HTML (например, атрибут rules для элемента TABLE). Пример визуального представления группы столбцов см. в примере таблицы.

Таблица может содержать одну неявную группу столбцов (элемент COLGROUP не разделяет столбцы) или любое число явных групп столбцов (каждая из которых отделяется одним экземпляром элемента COLGROUP).

Элемент COL позволяет авторам использовать одни и те же атрибуты в различных столбцах, не используя структурной группировки. «span» элемента COL - это число столбцов, использующих атрибуты этого элемента.

Элемент COLGROUP

<!ELEMENT COLGROUP - O (col)*          -- группа столбцов таблицы -->
<!ATTLIST COLGROUP
  %attrs;                              -- %coreattrs, %i18n, %events --  span        NUMBER         1         -- число столбцов в группе, используемое по умолчанию --  width       %MultiLength;  #IMPLIED  -- ширина для вложенных элементов COL, используемая по умолчанию --  %cellhalign;                         -- горизонтальное выравнивание в ячейках --  %cellvalign;                         -- вертикальное выравнивание в ячейках --  >

Начальный тег: обязателен, Конечный тег: необязателен

Определения атрибутов

span = число[CN]
Этот атрибут, значением которого должно быть целое число больше нуля, определяет число столбцов в группе. Значения означают следующее:

  • При отсутствии атрибута span каждый элемент COLGROUP определяет группу столбцов, состоящую из одного столбца.
  • Если для атрибута span установлено значение N > 0, текущий элемент COLGROUP определяет группу, содержащую N столбцов.

Агенты пользователей должны игнорировать этот атрибут, если элемент COLGROUP содержит один или несколько элементов COL.

width = multi-length[CN]
Этот атрибут определяет ширину каждого столбца в текущей группе, используемую по умолчанию. Кроме стандартных значений в пикселах, процентах и относительных значений, в этом атрибуте может использоваться специальная форма «0*» (ноль со звездочкой), которая означает, что ширина каждого столбца в группе должна быть минимальной, необходимой для размещения содержимого столбца. Подразумевается, что содержимое столбца известно до того, как можно будет корректно вычислить его ширину. Авторы должны знать, что использование «0*» не позволит агентам пользователей генерировать таблицу последовательно.Этот атрибут переопределяется для любого столбца из группы, для которого значение атрибута width задано в элементе COL.

Атрибуты, определяемые в любом другом месте

  • id, class (идентификаторы в пределах документа)
  • lang (информация о языке), dir (направление текста)
  • title (заголовок элемента)
  • style (встроенная информация о стиле)
  • onclick, ondblclick, onmousedown, onmouseup,
    onmouseover, onmousemove, onmouseout,
    onkeypress, onkeydown, onkeyup(внутренние события)
  • align, char, charoff, valign (выравнивание ячейки)

Элемент COLGROUP создает явную группу столбцов. Число столбцов в группе может быть указано двумя взаимоисключающими способами:

  1. Атрибут span элемента (значение по умолчанию — 1) задает число столбцов в группе.
  2. Каждый элемент COL в COLGROUP представляет один или несколько столбцов в группе.

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

   <COLGROUP span="40" width="20">
   </COLGROUP>

чем:

   <COLGROUP>
      <COL width="20">
      <COL width="20">
      ...все сорок элементов COL...
   </COLGROUP>

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

   <COLGROUP width="20">
      <COL span="39">
      <COL id="format-me-specially">
   </COLGROUP>

Атрибут width элемента COLGROUP наследуют все сорок столбцов. Первый элемент COL относится к первым 39 столбцам (ничего особенного для них не делая), а второй назначает значение idсороковому столбцу, так что на него можно будет ссылаться в таблицах стилей.

Таблица в следующем примере содержит две группы столбцов. Первая группа включает 10 столбов, вторая — 5. Ширина по умолчанию для каждого столбца в первой группе — 50 пикселов. Ширина каждого столбца во второй группе — минимальная, необходимая для этого столбца.

<TABLE>
<COLGROUP span="10" width="50">
<COLGROUP span="5" width="0*">
<THEAD>
<TR><TD> ...
</TABLE>

Элемент COL

<!ELEMENT COL      - O EMPTY           -- столбец таблицы -->
<!ATTLIST COL                          -- группы и свойства столбцов --  %attrs;                              -- %coreattrs, %i18n, %events --  span        NUMBER         1         -- атрибут COL влияет на N столбцов --  width       %MultiLength;  #IMPLIED  -- ширина столбца --  %cellhalign;                         -- горизонтальное выравнивание в ячейках --  %cellvalign;                         -- вертикальное выравнивание в ячейках --  >

Начальный тег: обязателен, Конечный тег: запрещен

Определения атрибутов

span = число[CN]
Этот атрибут, значением которого должно быть целое число больше нуля, определяет число столбцов, «spanned» элементом COL; атрибуты элемента COL распространяются на все столбцы, которые он spans. Значение по умолчанию для этого атрибута — 1 (т.е. элемент COL означает один столбец). Если для атрибута span установлено значение N > 1, атрибуты текущего элемента COLраспространяются на следующие N-1 столбец.
width = multi-length[CN]
Этот атрибут определяет ширину каждого столбца, spanned текущим элементом COL, используемую по умолчанию. Он имеет то же значение, что и атрибут width для элемента COLGROUP и имеет над ним приоритет.

Атрибуты, определяемые в любом другом месте

  • id, class (идентификаторы в пределах документа)
  • lang (информация о языке), dir (направление текста)
  • title (заголовок элемента)
  • style (встроенная информация о стиле)
  • onclick, ondblclick, onmousedown, onmouseup,
    onmouseover, onmousemove, onmouseout,
    onkeypress, onkeydown, onkeyup (внутренние события)
  • align, char, charoff, valign (выравнивание в ячейках)

Элемент COL позволяет авторам группировать определения атрибутов для столбцов таблицы. Атрибут COL не группирует столбцы структурно — эту роль играет элемент COLGROUP. Элементы COL являются пустыми и служат только для поддержания атрибутов. Они могут находиться внутри или вне явной группы столбцов (т.е. элемента COLGROUP).

Атрибут width для элемента COL означает ширину каждого столбца в span элемента.

Подсчет числа столбцов в таблице

Имеется два способа определения числа столбцов в таблице (в порядке старшинства):

  1. Если элемент TABLE включает элементы COLGROUP или COL, агенты пользователей должны подсчитывать число столбцов, суммируя следующие цифры:
    • Для каждого элемента COL - значение его атрибута span (по умолчанию 1).
    • Для каждого элемента COLGROUP, содержащего по крайней мере один элемент COL - игнорировать атрибут span для элементаCOLGROUP. Для каждого элемента COL выполнить вычисление из шага 1.
    • Для каждого пустого элемента COLGROUP - значение его атрибута span (по умолчанию 1).
  2. В противном случае, если элемент TABLE не содержит элементов COLGROUP или COL, агенты пользователей определять число столбцов из того, что необходимо для строк. Число столбцов равно число столбцов, необходимых строке с наибольшим числом столбцов, включая ячейки, span несколько столбцов. Для любой строки, число столбцов в которой меньше, конец этой строки будет дополняться пустыми ячейками. «Конец» строки зависит от направления таблицы.

Если таблица содержит элементы COLGROUP или COL, и эти два способа подсчет дают разные результаты, это является ошибкой.

Когда агент пользователя подсчитал число столбцов в таблице, он может сгруппировать их в группы столбцов.

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

<TABLE>
<COLGROUP span="3"></COLGROUP>
<TR><TD> ...
...строки...
</TABLE>

<TABLE>
<COLGROUP>
<COL>
<COL span="2">
</COLGROUP>
<TR><TD> ...
...строки...
</TABLE>

<TABLE>
<COLGROUP>
<COL>
</COLGROUP>
<COLGROUP span="2">
<TR><TD> ...
...строки...
</TABLE>

<TABLE>
<TR>
  <TD><TD><TD>
</TR>
</TABLE>

Подсчет ширины столбцов

Авторы могут указывать ширину столбцов тремя способами:

Фиксированная
Указание фиксированной ширины дается в пикселах (например, width=»30″). Использование фиксированной ширины позволяет использовать последовательную генерацию.
В процентах
Указание ширины в процентах (например, width=»20%») означает процент горизонтального пространства, доступного для таблицы (между текущим левым и правым полями, включая floats). Помните, что это пространство не зависит от самой таблицы, поэтому указание ширины в процентах позволяет использовать последовательную генерацию.
Пропорциональная
Указание пропорциональной ширины (например, width=»3*») означает число частей горизонтального пространства,необходимого для таблицы. Если ширина таблицы определяется как фиксированное значение (с помощью атрибута widthэлемента TABLE), агенты пользователей могут генерировать таблицу последовательно и с указанием пропорциональной ширины.Однако если ширина таблицы не фиксирована, агенты пользователей должны получить все данные таблицы перед тем, как они смогут определить горизонтальное пространство, необходимое для таблицы. Только тогда это пространство может быть распределено между столбцами, для которых указана пропорциональная ширина.

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

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

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

Когда агент пользователя (визуальный) получит данные таблицы, доступное горизонтальное пространство будет распределяться агентом пользователя следующим образом: сначала агент пользователя распределит 30 пикселов на первый и второй столбец. Затем будет зарезервировано минимальное пространство, необходимое для третьего столбца. Оставшееся горизонтальное пространство будет разделено на шесть равных частей (поскольку 2* + 1* + 3* = 6 частей). Четвертый столбец (2*) получит две таких части, пятый (1*) — одну, а шестой — (3*) три.

<TABLE>
<COLGROUP>
   <COL width="30">
<COLGROUP>
   <COL width="30">
   <COL width="0*">
   <COL width="2*">
<COLGROUP align="center">
   <COL width="1*">
   <COL width="3*" align="char" char=":">
<THEAD>
<TR><TD> ...
...строки...
</TABLE>

Для атрибута align во второй группе столбцов мы установили значение «center». Все ячейки в каждом столбце этой группы будут наследовать это значение, но могут переопределять его. В действительности последний элемент COL делает именно это, потому что в нем указано, что каждая ячейка столбца, которым он управляет, будет выровнена с использованием символа «:».

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

<TABLE width="200">
<COLGROUP span="10" width="15">
<COLGROUP width="*">
   <COL id="penultimate-column">
   <COL id="last-column">
<THEAD>
<TR><TD> ...
...строки...
</TABLE>

Первые десять столбцов имеют ширину 15 пикселов каждый. Последние два столбца получают по половине из оставшихся 50 пикселов. Помните, что элемент COL расположен так, что значение id можно указать только для последних двух столбцов.

Примечание. Хотя атрибут width элемента TABLE не является нежелательным, авторам рекомендуется использовать для указания ширины таблицы стилей.


Теги thead, tfoot и tbody — группы строк таблицы

Группы строк: элементы THEAD, TFOOT и TBODY

<!ELEMENT THEAD    - O (TR)+           -- заголовок таблицы -->
<!ELEMENT TFOOT    - O (TR)+           -- нижний заголовок таблицы -->

Начальный тег: обязателен, конечный тег: необязателен

<!ELEMENT TBODY    O O (TR)+           -- тело таблицы -->

Начальный тег: необязателен, конечный тег: необязателен

<!ATTLIST (THEAD|TBODY|TFOOT)          -- раздел таблицы --
  %attrs;                              -- %coreattrs, %i18n, %events --
  %cellhalign;                         -- горизонтальное выравнивание в ячейках --
  %cellvalign;                         -- вертикальное выравнивание в ячейках --
  >

Атрибуты, определяемые в любом другом месте

  • id, class (идентификаторы в пределах документа)
  • lang (информация о языке), dir (направление текста)
  • title (заголовок элемента)
  • style (встроенная информация о стиле)
  • onclick, ondblclick, onmousedown, onmouseup,
    onmouseover, onmousemove, onmouseout, onkeypress,
    onkeydown, onkeyup(внутренние события)
  • align, char, charoff, valign (выравнивание ячейки)

Строки таблицы могут группироваться в заголовки, нижние заголовки и один или несколько разделов тела таблицы с помощью элементов THEAD, TFOOT и TBODY соответственно. Это подразделение позволяет агентам пользователей поддерживать прокрутку тела таблицы независимо от заголовков. При печати длинных таблиц информация из заголовков может повторяться на каждой странице, на которой имеются данные таблицы.

Заголовки таблицы должны содержать информацию о столбцах таблицы. Тело таблицы должно содержать строки данных таблицы.

Если элементы THEAD, TFOOT и TBODY присутствуют, каждый из них содержит группу строк. Каждая группа строк должна содержать по крайней мере одну строку, определяемую элементом TR.

В этом примере показан порядок и структура заголовков таблицы, нижних заголовков и тел.

<TABLE>
<THEAD>
     <TR> ...заголовок...
</THEAD>
<TFOOT>
     <TR> ...нижний заголовок...
</TFOOT>
<TBODY>
     <TR> ...первая строка данных блока 1...
     <TR> ...вторая строка данных блока 1...
</TBODY>
<TBODY>
     <TR> ...первая строка данных блока 2...
     <TR> ...вторая строка данных блока 2...
     <TR> ...третья строка данных блока 2...
</TBODY>
</TABLE>

Элемент TFOOT должен располагаться до элемента TBODY в определении TABLE, чтобы агенты пользователей могли генерировать нижний заголовок до получения всех (возможно, многочисленных) строк данных. Ниже приводится сводка обязательных тегов и тегов, которые можно опустить:

  • Начальный тег TBODY всегда обязателен, если только таблица не содержит единственного тела без верхних и нижних заголовков. Конечный тег TBODY всегда можно опускать.
  • Начальные теги для элементов THEAD и TFOOT обязательны, если в таблице присутствуют верхний и нижний заголовки, но соответствующие конечные теги можно опускать.

Соответствующий спецификации агент пользователя при разборе должен obey эти правила из соображений совместимости с предыдущими версиями.

Таблицу из предыдущего примера можно сократить, удалив конечные теги, как показано ниже:

<TABLE>
<THEAD>
     <TR> ...верхний заголовок...
<TFOOT>
     <TR> ...нижний заголовок...
<TBODY>
     <TR> ...первая строка данных блока 1...
     <TR> ...вторая строка данных блока 1...
<TBODY>
     <TR> ...первая строка данных блока 2...
     <TR> ...вторая строка данных блока 2...
     <TR> ...третья строка данных блока 2...
</TABLE>

Разделы THEAD, TFOOT и TBODYдолжны содержать одинаковое число столбцов.

Тег caption — заголовок таблицы

Подписи таблиц: тэг CAPTION

Начальный тег: обязателен, конечный тег: обязателен

Определения атрибутов

align = top|bottom|left|right [CI]
Нежелателен. Для визуальных агентов пользователей этот атрибут указывает положение caption относительно таблицы. Возможные значения:

  • top: caption находится наверху таблицы. Это значение используется по умолчанию.
  • bottom: caption находится внизу таблицы.
  • left: caption находится слева от таблицы.
  • right: caption находится справа от таблицы.

Атрибуты, определяемые в любом другом месте

  • id, class (идентификаторы в пределах документа)
  • lang (информация о языке), dir (направление текста)
  • title (заголовок элемента)
  • style (встроенная информация о стиле)
  • onclick, ondblclick, onmousedown, onmouseup,
    onmouseover, onmousemove, onmouseout, onkeypress,
    onkeydown, onkeyup(внутренние события)

Если элемент CAPTION присутствует, его текст должен описывать предмет таблицы. Элемент CAPTION может располагаться только непосредственно после начального тега TABLE. Элемент TABLE может включать только один элемент CAPTION.

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

Таким образом, авторы должны позаботиться о предоставлении дополнительной информации, описывающей назначение и структуру таблицы с помощью атрибута summary элемента TABLE. Это особенно важно для таблиц, не имеющих captions. На примерах ниже показано использование атрибута summary.

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

Тег table — таблица

Тэг TABLE

Начальный тег: обязателен, конечный тег: обязателен

Определения атрибутов

summary = текст [CS]
Краткая информация о назначении и структуре таблицы для агентов пользователей, выполняющих генерацию для невизуальных средств, таких как синтезаторы речи или азбуки Бройля.
align = left|center|right [CI]
Deprecated. Этот атрибут задает положение таблицы относительно документа. Допустимые значения:

  • left: Таблица находится в левой части документа.
  • center: Таблица находится в центре документа.
  • right: Таблицы находится в правой части документа.
width = длина [CN]
Этот атрибут определяет необходимую ширину всей таблицы и предназначен для визуальных объектов пользователей. Если значение указано в процентах, это означает долю в процентах от доступного горизонтального пространства. Если ширина не указана, она определяется агентом пользователя.

Атрибуты, определяемые в любом другом месте

  • id, class (идентификаторы в пределах документа)
  • lang (информация о языке), dir (направление текста)
  • title (заголовок элемента)
  • style (встроенная информация о стиле)
  • onclick, ondblclick, onmousedown, onmouseup,
    onmouseover, onmousemove, onmouseout, onkeypress,
    onkeydown, onkeyup(внутренние события)
  • bgcolor (цвет фона)
  • frame, rules, border (границы и rules)
  • cellspacing, cellpadding (поля в ячейках)

Элемент TABLE содержит все другие элементы, определяющие заголовок, строки, содержимое и форматирование.

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

  • Предоставление пользователю информации о таблице. Авторам следует предоставлять краткую информацию о содержании и структуре таблицы, чтобы люди, работающие с невизуальными агентами пользователей, могли лучше понять ее.
  • Генерация caption, если он определен.
  • Генерация верхнего заголовка таблицы, если он определен. Генерация нижнего заголовка, если он определен. Агенты пользователей должны знать, где нужно генерировать верхний и нижний заголовки. Например, если средство вывода делится на страницы, агенты пользователей могут помещать верхний заголовок в верхней части каждой страницы, а нижний — внизу. Точно так же, если агент пользователя предоставляет механизм прокрутки строк, верхний заголовок может отображаться вверху прокручиваемой области, а нижний — внизу.
  • Вычисление числа столбцов в таблице. Помните, что число строк в таблице равно числу элементов TR, содержащихся в элементеTABLE.
  • Группировка столбцов в соответствии со спецификациями групп столбцов.
  • Построчная генерация ячеек и группировка в столбцы между верхним и нижним заголовками. Визуальные агенты пользователей должны форматировать таблицы в соответствии с атрибутами HTML и спецификациями таблиц стилей.

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

Чтобы агенты пользователей могли форматировать таблицу за один проход, авторы должны сообщить агентам пользователей следующую информацию:

  • Число столбцов в таблице. Подробнее о том, как указать эту информацию, см. в разделе о подсчете числа столбцов в таблице.
  • Ширину столбцов. Подробнее о том, как указать эту информацию, см. в разделе о подсчете ширины столбцов.

Более точно агент пользователя может сгенерировать таблицу за один проход, когда ширина столбцов указана с использованием комбинации элементов COLGROUP и COL. Если для какого-либо столбца указана относительная ширина или ширина в процентах (см. раздел о подсчете ширины столбцов), авторы должны также указать ширину самой таблицы.

Направление таблиц

Направление таблицы либо наследуется (по умолчанию используется направление слева направо), либо определяется атрибутом dirэлемента TABLE.

Для таблиц, направление которых слева направо, нулевой столбец находится слева, а нулевая строка — сверху. Для таблиц, направление которых справа налево, нулевой столбец находится справа, а нулевая строка — сверху.

Если агент пользователя allots в строку дополнительные ячейки (см. раздел о подсчете числа столбцов в таблице), дополнительные ячейки строки добавляются в таблицу справа для таблиц, имеющих направление слева направо, и слева для таблиц, имеющих направление справа налево.

Помните, что TABLE - единственный элемент, для которого атрибут dir обращает визуальный порядок столбцов; нельзя изменить порядок одной строки (TR) или группы столбцов (COLGROUP).

Если для элемента TABLE установлен атрибут dir, он также влияет на направление текста в ячейках таблицы (поскольку атрибут dirнаследуется элементами уровня блока).

Чтобы определить таблицу с направлением справа налево, установите атрибут dir следующим образом:

<TABLE dir="RTL">
...продолжение таблицы...
</TABLE>

Направление текста в отдельных ячейках можно изменить, установив атрибут dir для элемента, определяющего ячейку. Подробнее о вопросах направления текста см. в разделе о двунаправленном тексте.

Тег address — адрес автора страницы

Начальный тег: обязателен, Конечный тег: обязателен

Атрибуты, определяемые в любом другом месте

  • id,class(идентификаторы в пределах документ)
  • lang(информация о языке),dir(направление текста)
  • onclickondblclickonmousedownonmouseup,
    onmouseoveronmousemoveonmouseoutonkeypress,
    onkeydown,onkeyup(внутренние события)

Элемент ADDRESS может использоваться авторами для указания контактной информации или основной части документа, такой как форма. Этот элемент часто находится в начале или в конце документа. 

Например, страница на сервере W3C, относящаяся к языку HTML, может включать следующую контактную информацию

<ADDRESS>
<P><A href="../People/Raggett/">Dave Raggett</A>,
   <A href="../People/Arnaud/">Arnaud Le Hors</A>,
contact persons for the <A href="Activity">W3C HTML Activity</A><BR>
$Date: 1997/12/16 05:38:14 $
</ADDRESS>

Тег ol — нумерванные списки

Упорядоченные списки (OL)

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

  1. Тщательно смешать сухие ингредиенты.
  2. Влить жидкость.
  3. Смешивать 10 минут.
  4. Выпекать в течение часа при температуре 300 градусов.

Точное представление списков зависит от агента пользователя. Не стоит использовать списки для создания отступов в тексте. Это делается с помощью таблиц стилей.

Начальный тег: обязателен, Конечный тег: обязателен

Определения атрибутов

type = информация о стиле [CI]
Нежелателен. Этот атрибут устанавливает стиль элемента списка. Доступные в настоящее время значения предназначены для визуальных агентов пользователей. Возможные значения описаны ниже (включая информацию о регистре).
start = число [CN]
Нежелателен. Только для OL. Этот атрибут задает начальный номер первого элемента в упорядоченном списке. По умолчанию начальный номер — «1″. Помните, что, хотя значением этого атрибута является целое число, соответствующая метка может быть нецифровая. Если в качестве стиля выбраны латинские буквы верхнего регистра (A, B, C, …), start=3 означает «C». Если в качестве стиля выбраны римские цифры нижнего регистра, start=3 означает «iii» и т.д.
value = число [CN]
Нежелетельно. Только для LI. Этот атрибут устанавливает номер текущего элемента списка. Помните, что, хотя значением атрибута является целое число, соответствующая метка может быть нечисловая (см. атрибут start).
compact [CI]
Нежелателен. Если этот логический атрибут установлен, он сообщает визуальным агентам пользователей о том, что генерировать список нужно более компактно. Интерпретация этого атрибута зависит от агента пользователя.

Атрибуты, определяемые в любом другом месте

  • id, class (идентификаторы в пределах документа)
  • lang (информация о языке), dir (направление текста)
  • title (заголовок элемента)
  • style (встроенная информация о стиле)
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover,
    onmousemove, onmouseout, onkeypress, onkeydown,
    onkeyup(внутренние события)

Тег li — элементы списков

Элементы списков (LI)

Начальный тег: обязателен, Конечный тег: не обязателен

Определения атрибутов

type = информация о стиле [CI]
Нежелателен. Этот атрибут устанавливает стиль элемента списка. Доступные в настоящее время значения предназначены для визуальных агентов пользователей. Возможные значения описаны ниже (включая информацию о регистре).
start = число [CN]
Нежелателен. Только для OL. Этот атрибут задает начальный номер первого элемента в упорядоченном списке. По умолчанию начальный номер — «1″. Помните, что, хотя значением этого атрибута является целое число, соответствующая метка может быть нецифровая. Если в качестве стиля выбраны латинские буквы верхнего регистра (A, B, C, …), start=3 означает «C». Если в качестве стиля выбраны римские цифры нижнего регистра, start=3 означает «iii» и т.д.
value = число [CN]
Нежелетельно. Только для LI. Этот атрибут устанавливает номер текущего элемента списка. Помните, что, хотя значением атрибута является целое число, соответствующая метка может быть нечисловая (см. атрибут start).
compact [CI]
Нежелателен. Если этот логический атрибут установлен, он сообщает визуальным агентам пользователей о том, что генерировать список нужно более компактно. Интерпретация этого атрибута зависит от агента пользователя.

Атрибуты, определяемые в любом другом месте

  • id, class (идентификаторы в пределах документа)
  • lang (информация о языке), dir (направление текста)
  • title (заголовок элемента)
  • style (встроенная информация о стиле)
  • onclick, ondblclick, onmousedown, onmouseup,
    onmouseover, onmousemove, onmouseout, onkeypress,
    onkeydown, onkeyup(внутренние события)

Упорядоченные и неупорядоченные списки генерируются одинаково за исключением того, что визуальные агенты пользователей нумеруют упорядоченные списки. Агенты пользователей могут представлять эти номера несколькими способами. Элементы неупорядоченного списка не нумеруются.

Оба эти типа списков состоят из последовательностей элементов списков, определяемых элементом LI (конечный тег которого можно опустить).

В этом примере показана общая структура списка.

<UL>
   <LI> ... первый элемент списка...
   <LI> ... второй элемент списка...
   ...
</UL>

Списки могут быть вложенными:

ПРИМЕР НЕЖЕЛАТЕЛЬНОГО ИСПОЛЬЗОВАНИЯ:

<UL>
     <LI> ... Уровень один, номер один...
     <OL>
        <LI> ... Уровень два, номер один...
        <LI> ... Уровень два, номер два...
        <OL start="10">
           <LI> ... Уровень три, номер один...
        </OL>
        <LI> ... Уровень два, номер три...
     </OL>
     <LI> ... Уровень один, номер два...
</UL>

Информация о порядке номеров. В упорядоченных списках невозможно продолжать нумерацию автоматически из предыдущего списка или убрать нумерацию для некоторых элементов. Однако авторы могут пропустить несколько элементов списка, установив для них атрибут value. Нумерация для последующих элементов списка продолжается с нового значения. Например:

<ol>
<li value="30"> элемент списка номер 30.
<li value="40"> элемент списка номер 40.
<li> элемент списка номер 41.
</ol>

Тег ul — неупорядоченные списки

Неупорядоченные списки (UL)

Язык HTML предлагает авторам несколько механизмов создания списков информации. В каждом списке должен быть один или несколько элементов списков. Списки могут содержать:

  • Неупорядоченную информацию.
  • Упорядоченную информацию.
  • Определения.

Предыдущий список, например, не упорядочен, он создан с помощью элемента UL:

<UL>
<LI>Неупорядоченную информацию.
<LI>Упорядоченную информацию.
<LI>Определения.
</UL>

Точное представление трех типов списков зависит от агента пользователя. Не стоит использовать списки для создания отступов в тексте. Это делается с помощью таблиц стилей.

Начальный тег: обязателен, Конечный тег: обязателен

Определения атрибутов

type = информация о стиле [CI]
Нежелателен. Этот атрибут устанавливает стиль элемента списка. Доступные в настоящее время значения предназначены для визуальных агентов пользователей. Возможные значения описаны ниже (включая информацию о регистре).
start = число [CN]
Нежелателен. Только для OL. Этот атрибут задает начальный номер первого элемента в упорядоченном списке. По умолчанию начальный номер — «1″. Помните, что, хотя значением этого атрибута является целое число, соответствующая метка может быть нецифровая. Если в качестве стиля выбраны латинские буквы верхнего регистра (A, B, C, …), start=3 означает «C». Если в качестве стиля выбраны римские цифры нижнего регистра, start=3 означает «iii» и т.д.
value = число [CN]
Нежелетельно. Только для LI. Этот атрибут устанавливает номер текущего элемента списка. Помните, что, хотя значением атрибута является целое число, соответствующая метка может быть нечисловая (см. атрибут start).
compact [CI]
Нежелателен. Если этот логический атрибут установлен, он сообщает визуальным агентам пользователей о том, что генерировать список нужно более компактно. Интерпретация этого атрибута зависит от агента пользователя.

Атрибуты, определяемые в любом другом месте

  • id, class (идентификаторы в пределах документа)
  • lang (информация о языке), dir (направление текста)
  • title (заголовок элемента)
  • style (встроенная информация о стиле)
  • onclick, ondblclick, onmousedown, onmouseup, onmouseover,
    onmousemove, onmouseout, onkeypress, onkeydown,
    onkeyup(внутренние события)