10  Списки

Содержание

  1. Введение
  2. Неупорядоченные списки (UL), упорядоченные списки (OL) и элементы списка (LI)
  3. Списки Definition: элементы DL, DT и DD
  4. Элементы DIR и MENU


10.1
  Введение

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

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

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

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

  1. Mix dry ingredients thoroughly.
  2. Pour in wet ingredients.
  3. Mix for 10 minutes.
  4. Bake for one hour at 300 degrees.

Списки определений, создаваемые элементом DL, обычно состоят из последовательности пар термин/его определение. Таким образом, представляя продукт, можно использовать список определений:

Lower cost
The new version of this product costs significantly less than the previous one!
Easier to use
We've changed the product so that it's much easier to use!
Safe for kids
You can leave your kids alone in a room with this product and they won't get hurt (not a guarantee).

что выглядит в  HTML так:

<DL>
<DT><STRONG>Lower cost</STRONG>
<DD>The new version of this product costs significantly less than the
previous one!
<DT><STRONG>Easier to use</STRONG>
<DD>We've changed the product so that it's much easier to use!
<DT><STRONG>Safe for kids</STRONG>
<DD>You can leave your kids alone in a room with this product and
they won't get hurt (not a guarantee).
</DL>

Списки также могут вкладываться, при этом списки разных типов можно использовать вместе, как в следующем примере, который является списком определений, содержащим неупорядоченный список (the ingredients) и упорядоченный список (the procedure):

The ingredients:
The procedure:
  1. Mix dry ingredients thoroughly.
  2. Pour in wet ingredients.
  3. Mix for 10 minutes.
  4. Bake for one hour at 300 degrees.
Notes:
The recipe may be improved by adding raisins.

Точное представление списков этих трёх типов зависит от ПА. Мы предостерегаем авторов от использования списков только для вывода текста с отступами. Это вопрос стиля, и он должен соответственно решаться в таблицах стилей.


10.2
Неупорядоченные списки (UL), упорядоченные списки (OL) и элементы списка (LI)

<!ELEMENT UL - - (LI)+                 -- неупорядоченный список -->
<!ATTLIST UL
  %attrs;                              -- %coreattrs, %i18n, %events --
  >
<!ELEMENT OL - - (LI)+                 -- упорядоченный список -->
<!ATTLIST OL
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Начальный тег: необходим, Конечный тег: необходим

<!ELEMENT LI - O (%flow;)*             -- элемент списка -->
<!ATTLIST LI
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

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

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

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

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

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

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

Этот пример иллюстрирует базовую структуры списков:

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

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

НЕ РЕКОМЕНДУЕТСЯ:

<UL>
     <LI> ... Уровень 1, номер 1 ...
     <OL> 
        <LI> ... Уровень 2, номер 1 ...
        <LI> ... Уровень 2, номер 2 ...
        <OL start="10"> 
           <LI> ... Уровень 3, номер 1 ...
        </OL> 
        <LI> ... Уровень 2, номер 3 ...
     </OL> 
     <LI> ... Уровень 1, номер 2 ...
</UL>

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

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


10.3
   Списки Definition: элементы DL, DT  и  DD

<!-- списки определений - DT - термин, DD - его определение -->

<!ELEMENT DL - - (DT|DD)+              -- список definition -->
<!ATTLIST DL
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

Начальный тег: необходим, Конечный тег: необходим

<!ELEMENT DT - O (%inline;)*           -- термин -->
<!ELEMENT DD - O (%flow;)*             -- описание термина -->
<!ATTLIST (DT|DD)
  %attrs;                              -- %coreattrs, %i18n, %events --
  >

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

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

Списки определений лишь немного отличаются от других типов списка тем, что их элемент состоит из двух частей: термина и его описания. Термин задаётся элементом  DT и ограничен как инлайн-содержимое. Описание задаётся элементом DD, содержимое которого - уровня блока.

Вот пример:

 <DL>
  <DT>Dweeb
  <DD>young excitable person who may mature
    into a <EM>Nerd</EM> or <EM>Geek</EM>

  <DT>Hacker
  <DD>a clever programmer

  <DT>Nerd
  <DD>technically bright but socially inept person

</DL>

Это пример нескольких терминов и описаний:

<DL>
   <DT>Center
   <DT>Centre
   <DD> A point equidistant from all points
              on the surface of a sphere.
   <DD> In some field sports, the player who
              holds the middle position on the field, court,
              or forward line.
</DL>

Другая сфера применения  DL  это, например, создание диалогов, где каждый DT именует говорящего, а каждый DD содержит его/ её слова.

10.3.1  Визуальное представление списков

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

Визуальные ПА обычно осуществляют отступ вложенных списков с учётом текущего уровня вложенности.

И для OL, и для  UL атрибут type определяет опции отображения визуальными ПА.

Для элемента UL возможные значения атрибута typediscsquare   и  circle. Значения по умолчанию зависят от уровня вложения. Эти значения нечувствительны к регистру.

Представление каждого значения зависит от ПА. ПА должны пытаться представить "disc" как маленький заполненный кружок, "circle" как маленький круг и "square" как маленький квадрат.

Графический ПА может отобразить это так:

A possible rendering of a disc для значения "disc"
A possible rendering of a circle для значения "circle"
A possible rendering of a square для значения "square"

Для элемента OL возможные значения атрибута type суммированы в таблице (значение нечувствительны к регистру):

Type/Тип Стиль нумерации
1 арабские цифры 1, 2, 3, ...
a латинский алфавит, нижний регистр a, b, c, ...
A латинский алфавит, верхний регистр A, B, C, ...
i римский алфавит, нижний регистр i, ii, iii, ...
I римский алфавит, верхний регистр I, II, III, ...

Обратите внимание, что атрибут type  не рекомендуется применять, и стили списков должны обрабатываться таблицами стилей.

Например, используя CSS (Каскадную Таблицу Стилей), можно определить, что стиль нумерации элементов списка должен быть - римские цифры в нижнем регистре. В предыдущем примере каждый элемент OL, принадлежащий к классу "withroman", будет иметь римскую нумерацию перед началом каждого элемента списка.

<STYLE type="text/css">
OL.withroman { list-style-type: lower-roman }
</STYLE>
<BODY>
<OL class="withroman">
<LI> Step one ...  
<LI> Step two ...
</OL>
</BODY>

Представление списков Definition также зависит от ПА. Пример:

<DL>
  <DT>Dweeb
  <DD>young excitable person who may mature
    into a <EM>Nerd</EM> or <EM>Geek</EM>

  <DT>Hacker
  <DD>a clever programmer

  <DT>Nerd
  <DD>technically bright but socially inept person
</DL>

может быть отображено так:

Dweeb
       young excitable person who may mature into a Nerd or Geek
Hacker
       a clever programmer
Nerd
       technically bright but socially inept person

10.4 Элементы DIR  и  MENU

DIR и MENU не рекомендуются.

См. формальное определение в  Transitional/Переходном ОТД.

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

Элемент DIR был разработан для создания списка из нескольких столбцов. Элемент MENU был разработан для создания списка в один столбец. Оба элемента имеют ту же структуру, что и UL, но другое представление. На практике, ПА будет рассматривать списки DIR или MENU как список UL.

Мы настоятельно рекомендуем использовать UL вместо этих элементов.