htmlbook.ru - Для тех, кто делает сайты
Статьи Книги Шаг за шагом Рецепты Форум Графика для Web
Главная страница > Статьи > Списки > Вложенные списки

Вложенные списки

Влад Мержевич

Текстовая версия   Добавить комментарий

Вложенные списки предназначены для организации сложной иерархической структуры текста, обычно таких документов, как юридические или технические. Реально на веб-странице нельзя автоматически вести многоуровневую нумерацию, вроде использования подпунктов типа 1.1 или 2.1.3. Поэтому приходится вводить числа самостоятельно или упрощать отображение списка. Так, в примере 1 пункты и подпункты списка обозначаются числами. Чтобы корректно организовать вложение списков тег <OL>, формирующий подпункты, должен располагаться внутри тега <LI>.

Пример 1. Создание вложенного нумерованного списка

Валидный HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Вложенные списки</title>
</head>
<body>
<hr>

<ol>
 <li>Пункт 1
  <ol>
   <li>Подпункт 1.1</li>
   <li>Подпункт 1.2</li>
  </ol>
 </li>
 <li>Пункт 2
  <ol>
   <li>Подпункт 2.1</li>
   <li>Подпункт 2.2</li>
  </ol>
 </li>
</ol>

<hr>
</body>
</html>

Результат данного примера показан ниже. Обратите внимание, что у подпунктов имеется отступ слева, но нет вертикальных отступов сверху и снизу списка, как это обычно бывает у тега <OL>.

Рис. 1

Рис. 1. Вид вложенного нумерованного списка

Аналогично можно использовать и маркированные списки. При этом во вложенном списке автоматически меняется вид маркеров (пример 2).

Пример 2. Создание вложенного маркированного списка

Валидный HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Вложенные списки</title>
</head>
<body>

<ul>
 <li>Пункт 1
  <ul>
   <li>Подпункт 1.1</li>
   <li>Подпункт 1.2</li>
  </ul>
 </li>
 <li>Пункт 2
  <ul>
   <li>Подпункт 2.1</li>
   <li>Подпункт 2.2</li>
  </ul>
 </li>
</ul>

</body>
</html>

Результат данного примера показан ниже.

Рис. 2

Рис. 2. Вид вложенного маркированного списка

Статья опубликована: 07.09.2005 Последнее обновление: 26.03.2008

Прежде, чем писать комментарий к статье, примите во внимание следующие моменты.

  1. Не задавайте вопросы в комментариях, для этой цели предназначен форум, где вы получите нужную помощь.
  2. Удаляются любые комментарии, которые:
    • включают множество ошибок;
    • написаны безграмотно;
    • не имеют отношения к данной статье;
    • не содержат никакой полезной информации для посетителей.
  3. Для выделения отдельных слов используйте следующие команды: [b]жирный[/b], [i]курсив[/i], [color=цвет]цветной текст[/color], [tag]тег[/tag], [var]параметр[/var], [code]пример[/code].
  4. Потренироваться в написании комментариев вы можете в песочнице.

Комментарии к статье

J()KER

19.06.2006

При проверке валидности вложенного маркированного списка выда?т ошибки ;-(

Влад Мержевич

20.06.2006

Да, не любит валидатор, когда один тег UL вкладывают внутрь другого UL.

Васич

04.07.2006

Решение проблемы с валидатором:
<ul>
<li>Пункт 1
<ul>
<li>Подпункт 1.1</li>
<li>Подпункт 1.2</li>
</ul>
</li>
<li>Пункт 2
<ul>
<li>Подпункт 2.1</li>
<li>Подпункт 2.2</li>
</ul>
</li>
</ul>

Zip

04.07.2007

А как сделать так, чтобы подпункты появлялись только при нажатии на "Пункт"? (Сам пункт в виде сслки я так понял) Ну, вот, как у вас на сайте сделано, в статьях.

Иван Иваныч

19.07.2007

Как и Zip'а меня интересует тот же вопрос, каким образом при помощи CSS можно добиться такого эффекта чтоб "подпункты" появлялись только тогда когда требуются при наведении или нажатии на "пункт"?

Влад Мержевич

24.07.2007

Примеры раскрывающихся списков можете здесь скачать:

http://htmlbook.ru/download/simpletree.zip
http://htmlbook.ru/download/list.rar

alexandroid

26.07.2007

И как можно использовать первый пример? 1. Пункт 1., затем вложенный выглядит как "1. Пункт 1.1." sad
Можно как-то подавить автонумерацию?

Влад Мержевич

31.07.2007

Через стили можно подавить практически что угодно.

iadavin

19.01.2008

спосибо за примеры скриптов, все хотел понять как это делается. <br> и еше вопрос не по теме если можно где можно
почитать о JavaScript?

Светлана

06.02.2008

Здравствуйте, вложенный список у вас сделан на основе использования свойства display:none (display:block),
а как насчет поисковиков - они проиндексируют эти разделы(подразделы)? ведь это невидимый текст и сайт весь могут непроиндексировать из-за него. есть ли другие способы?

Влад Мержевич

27.03.2008

Светлана, поисковики со стилями и скриптами не дружат, поэтому видят только HTML-код. Так что все разделы и подразделы поисковики спокойно индексируют.

Добавить комментарий

Имя
Комментарий

Сохранить имя (используется cookie)

Поиск по сайту

Списки
Разделы
Теги по теме

LI
Тег LI определяет отдельный элемент списка. Внешний тег UL или OL устанавливает тип списка — маркированный или нумерованный.

OL
Тег OL устанавливает нумерованный список. Каждый элемент списка должен начинаться с тега LI.

UL
Тег UL устанавливает маркированный список. Каждый элемент списка должен начинаться с тега LI.

Copyright 2002–2008 Влад Мержевич, по всем вопросам пишите по адресу: vlad@htmlbook.ru

О сайте | Планы на будущее | Использование сайта | Борьба с ошибками | Технологии | Поддержать проект