HTML / 7. Форматированные списки

Тег <li>

Вам должно быть уже совершенно ясно, что тег <li> определяет элемент списка. Этот универсальный тег применяется как в рассмотренных упорядоченных (<ol>) и неупорядоченных (<ul>) списках, так и в директориях (<dir>) и меню (<menu>), которые мы еще подробно обсудим в этой главе.

В связи с тем, что завершение списка всегда может быть логически выведено из окружающей структуры документа, большинство авторов опускают тег </li>. В этом есть смысл, поскольку так легче добавлять, удалять и перемещать элементы списка. Тем не менее XHTML требует, чтобы закрывающий тег присутствовал, так что лучше включайте
его в документы.

Хотя значение тега <li> универсально, употребляемый в тегах списков различных типов он подвергается некоторым вариациям и специальным ограничениям. В упорядоченных и неупорядоченных списках за тегом <li> может следовать практически все что угодно, включая другие списки и последовательности абзацев. Броузер, если он вообще использует отступы, обычно последовательно применяет их к каждому вложенному списку, и содержимое любого элемента такой иерархии выравнивается по границе самого глубокого вложения для данного элемента.Списки директорий и меню – это другое дело. Они состоят из коротких элементов, таких как отдельное слово или простое словосочетание. Соответственно элементы списка в тегах <dir> и <menu> не могут содержать других списков или других элементов блочной природы, включая абзацы, преформатированные блоки или формы.

Корректно написанные документы, полностью соответствующие стандартам HTML и XHTML, не должны допускать внутри упорядоченных или неупорядоченных списков, директорий и меню ничего, что не было бы заключено в тегах <li>. Большинство броузеров снисходительно относятся к нарушению этого правила, но нельзя винить броузер, если
в исключительных случаях он позволит себе следовать стандарту.

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

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

Атрибут type
Возможными значениями атрибута type в теге <li> являются те же значения, что используются для этого атрибута в тегах соответствующих списков: элементы неупорядоченного списка могут иметь типы circle (круг), square (квадрат) или disc (диск).
Будьте осторожны. В старых броузерах, таких как Netscape Navigator и Internet Explorer версии 4 и более ранних, изменение типа маркирования и нумерации одного элемента списка переносилось и на следующие за ним. Иначе обстоит дело с броузерами, поддерживающими стандарт HTML 4, такими как Netscape версии 6 и Internet Explorer версии 5 и более поздний, Firefox и Opera. Для них атрибут type действует локально только на содержимое «своего» тега <li>. Стиль последующих элементов списка возвращается к принятому по умолчанию. Если вас это не устраивает, ставьте свои атрибуты type в последующие элементы списка.

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

<ol>
<li type=A>Changing the numbering type</li>
<li type=I>Uppercase Roman numerals</li>
<li type=i>Lowercase Roman numerals</li>
<li type=1>Plain ol' numbers</li>
<li type=a>Doesn't alter the order.</li>
<li> <-- But, although numbering continues sequentially,</li>
<li> types don't persist. See? I should've been a "g"!</li>
</ol>

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

Атрибут value
Атрибут value изменяет номер определенного элемента списка и тех, что за ним следуют. Поскольку элементы последовательно нумеруются только в упорядоченных перечнях, атрибут value действителен лишь в теге <li>, содержащемся в упорядоченном списке. Чтобы изменить номер, присоединенный к текущему элементу (и следующим за ним) в упорядоченном списке, просто присвойте value целое значение. Следующий XHTML-пример использует атрибут value, чтобы перескочить через несколько номеров:

<ol>
<li>Item number 1</li>
<li>And the second</li>
<li value=9> Jump to number 9</li>
<li>And continue with 10...</li>
</ol>7.3.1.3. Атрибуты class и style

Используйте атрибут style c тегом <li> для встроенного в документ определения стиля содержимого тега. Атрибут class позволяет применять к содержимому тега стиль, заранее определенный для данного класса элементов списков.

Атрибуты class, dir, event, id, lang, style и title
Эти атрибуты применимы также и к упорядоченным спискам и имеют тот же эффект, что и в случае неупорядоченных списков.

Статьи по HTML на эту тему:

Вложенные списки
Директории
Как использовать списки
Меню
Списки определений

Вернуться в раздел: HTML / 7. Форматированные списки