Многоуровневый упорядоченный список в html. Создание списка в HTML. Демонстрация списка описания

Списки активно используются для автоматической нумерации блоков контента. Однако при использовании вложенных списков нельзя получить нумерацию подпунктов типа 1.1, 1.2, 1.3, поскольку каждый список будет независимым. Но то, что нельзя в ШТМЛ, можно возложить на стили.

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

    , а элементы списка формируются тегами
  1. . Вложенный список также начинается с
      , но этот тег должен располагаться внутри контейнера
    1. , именно так соблюдается корректность синтаксиса (пример 1).

      Пример 1. Обычный вложенный список





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



      1. Пункт 1

        1. Подпункт 1.1

        2. Подпункт 1.2

        3. Подпункт 1.3



      2. Пункт 2

        1. Подпункт 2.1

        2. Подпункт 2.2





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

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

      Теперь уберем встроенную нумерацию списков и создадим ее по новой, но уже в том виде, что нам требуется. Для этого понадобится три стилевых атрибута: counter-reset , counter-increment и content .

      counter-reset — задает некоторую переменную, которая будет хранить значение счетчика;

      counter-increment — увеличивает или уменьшает значение счетчика на указанное число;

      content — выводит значение счетчика при использовании аргумента counter(переменная) . Работает совместно с псевдоэлементами after или before .

      Для списка первого уровня переменную счетчика назовем list1 , а для второго уровня — list2 . Тогда инициация счетчиков для списков будет следующей.

      OL { counter-reset: list1; } /* Список первого уровня */
      OL OL { counter-reset: list2; } /* Список второго уровня*/

      В данном случае отделить вложенный список от внешнего помогают конконтентные селекторы. Конструкция OL OL означает применять стиль только к тегу

        , но только когда он располагается внутри другого тега
          .

          Увеличение значения счетчика происходит через селектор OL LI:before , к которому добавляются стилевые атрибуты counter-increment и content . Атрибут counter-increment со значением list1 повышает значение этого счетчика на единицу, а content: counter(list1) ". " выводит значение счетчика перед пунктом списка. Эти атрибуты работают в паре, поэтому включать их надо одновременно.

          OL LI:before { /* Список первого уровня */
          counter-increment: list1;
          /* Выводим значение в виде 1., 2.*/
          }
          OL OL LI:before { /* Список второго уровня */
          counter-increment: list2; /* Увеличиваем значение счетчика */
          }

          Для вложенного списка вновь применяем конконтентные селекторы (OL OL ) и одновременно используем вывод счетчика list1 и list2 , в этом случае мы и получим нумерацию нужного нам вида.

          Окончательный код приведен в примере 2.

          Пример 2. Вложенные списки с автонумерацией





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




          1. Пункт

            1. Подпункт

            2. Подпункт

            3. Подпункт



          2. Пункт

            1. Подпункт

            2. Подпункт





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

          Рис. 2. Вид автонумерации списка в браузере Опера

          Замечание

          Приведенный пример не работает в браузере Internet Эксплорер до 7 версии включительно, поскольку он не поддерживает ни одно из приведенных стилевых свойств.

          Поскольку браузер Internet Эксплорер не поддерживает множество интересных стилевых атрибутов, специально для него обычную нумерацию в списках следует оставить нетронутой. Для этого дастаткова убрать list-style-type: none . Но это также затронет и другие браузеры, в которых пример работает корректно, поэтому придется применить хаком — так имеется ввиду прием, когда разным браузерам дается разный стилевой код. Например, можно применить тегом !important . При добавлении !important к значению стилевого атрибута его важность повышается. Если заново определить значение того же атрибута без !important , он будет игнорироваться браузерами. Но только не в Intenet Explorer версии 6 и ниже.

          LI {
          list-style-type: none !important; /* Убираем нумерацию в браузерах Опера, Safari, Файер фох */
          list-style-type: decimal; /* Оставляем нумерацию в браузере ИЕ6 и ниже */
          }

          Заменяя этим кoдам строку с селектором LI в примере 2 получим вложенный список корректно работающий во всех браузерах.

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

          Самый простой - перед каждым его элементом стоит маркер - кружок, квадрат или окружность. Последовательность элементов в маркированном списке не важна.

          Чтобы его создать, нужно использовать всего два тега:

            и
          • .
              - это контейнер, содержащий список, элементы которого задаются тегом
            • .

              Маркированный список

              • Камень
              • Ножницы
              • Бумага

              По умолчанию в качестве маркера списка используется чёрный кружок (disk ). Добавив в тег

                атрибут type и присвоив ему соответствующее значение, маркер можно сменить на окружность (circle ) или чёрный квадрат (square ).

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

                Для создания нумерованных списков используются теги

                  и
                1. . Контейнер
                    определяет начало и конец списка, тег
                  1. задаёт начало и конец его элемента - всё, как в маркированном списке, только
                      заменено на
                        .

                        Нумерованный список

                        1. Камень
                        2. Ножницы
                        3. Бумага

                        Так как с нумерованными списками не всегда всё так просто, для тега

                          создали следующие атрибуты (обратите внимание: ниже как раз приведён нумерованный список):

                          1. type . Этот атрибут позволяет нумеровать список не только арабскими, но также римскими цифрами или латинскими буквами разного регистра. type поддерживает значения 1 (по умолчанию), a, A, i, I (попробуйте поэкспериментировать с ними самостоятельно).

                          2. start . Не всегда нумерация должна начинаться с единицы. Этот атрибут позволяет задать начальное значение - номер первого элемента списка. В нём можно указать, чтобы отчёт начинался, например, с числа 100 или буквы K.

                          3. reversed . Если список должен идти не с 1 до 10, а с 10 до 1, то необходимо использовать этот атрибут. Если он задан, нумерация будет вестись в обратном порядке.

                          Для того, чтобы задать произвольный номер элементу в середине списка, нужно использовать в теге

                        1. атрибут :

                        2. Сорок пятый элемент после тридцать восьмого
                        3. Изменив номер одного элемента в середине списка, вы измените и нумерацию всех следующих за ним элементов - отчёт начнётся со значения в атрибуте value. Например, если элементу 18 вы присвоили номер 35, то следующие за ним элементы будут иметь номера не 19, 20, 21, а 36, 37, 38.

                          Список определений

                          Не такой известный тип списка, как рассмотренные выше. Состоит из терминов и их определений. Создаётся с помощью тегов:

                          - контейнер, содержащий список.

                          - тег термина.

                          - тег определения

                          Область применения списков определений - глоссарии, справочники, тесты, словари и другие ёмкие перечисления вида «Термин - объяснение».

                          Вот пример списка определений:

                          Список определений

                          Дескриптор
                          Основная единица языка разметки, известная всем как "Тег".
                          Атрибут
                          Свойство тега, дающее ему дополнительные возможности оформления текста.
                          Метка
                          Одиночный тег, который не нужно закрывать.

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

                          Вот пример многоуровневого списка:

                          Многоуровневый список Языки программирования делятся на:

                          • Структурные
                            1. Pascal
                            2. Oberon
                              1. Limbo
                          • Объектно-ориентированные
                            1. Java
                          • Функциональные
                            1. Lisp
                            2. Python

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

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

                            1. Первый пункт
                            2. Второй пункт
                            3. Третий пункт

                            Если не указывать никаких дополнительных атрибутов и просто написать тег

                              , то по умолчанию применяется список с арабскими числами (1, 2, 3,...), как показано в примере 11.3.

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

                              Нумерованный список

                              Работа со временем

                              1. создание пунктуальности (никогда не будете никуда опаздывать);
                              2. излечение от пунктуальности (никогда никуда не будете торопиться);
                              3. изменение восприятия времени и часов.

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

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

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

                              В качестве нумерующих элементов могут выступать следующие значения:

                              • арабские числа (1, 2, 3, ...);
                              • прописные латинские буквы (A, B, C, ...);
                              • строчные латинские буквы (a, b, c, ...);
                              • прописные римские числа (I, II, III, ...);
                              • строчные римские числа (i, ii, iii, ...).

                              Для указания типа нумерованного списка применяется атрибут type тега

                                . Его возможные значения приведены в табл. 11.2.

                                Табл. 11.2. Типы нумерованного списка
                                Тип списка Код HTML Пример
                                Арабские числа

                                1. Чебурашка
                                2. Крокодил Гена
                                3. Шапокляк
                                Прописные буквы латинского алфавита

                                A. Чебурашка
                                B. Крокодил Гена
                                C. Шапокляк
                                Строчные буквы латинского алфавита

                                a. Чебурашка
                                b. Крокодил Гена
                                c. Шапокляк
                                Римские числа в верхнем регистре

                                I. Чебурашка
                                II. Крокодил Гена
                                III. Шапокляк
                                Римские числа в нижнем регистре

                                i. Чебурашка
                                ii. Крокодил Гена
                                iii. Шапокляк

                                Чтобы начать список с определенного значения, используется атрибут start тега

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

                                  Пример 11.4. Нумерация списка

                                  Римские числа

                                  1. Король Магнум XLIV
                                  2. Король Зигфрид XVI
                                  3. Король Сигизмунд XXI
                                  4. Король Хусбрандт I

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

                                  Рис. 11.4. Нумерованный список с римскими числами

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

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

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

                                  • - этот парный тег задаёт старт и окончание нумерованного списка в html. Данный тег имеет параметр type , в значении которого нужно указать, с помощью чего будут отмечаться пункты списка:
                                  • A - английские большие буквы;
                                  • a - английские маленькие буквы;
                                  • I - римские большие цифры;
                                  • i - римские маленькие цифры.

                                  Если значение type не задавать, то в качестве нумерации пунктов, по умолчанию будут задействованы обычные цифры (1,2,3).

                                  • ...
                                  • - данный тег служит для отделения пунктов списка друг от друга.

                                  Освоить создание нумерованного списка в html намного проще будет на примере:



                                  Если использовать параметр type со значение А – type ="А" , то в результате нумерация будет выполнена английскими буквами – A,B,C,D и т.д

                                  В маркированных списках, каждый отдельный пункт имеет маркер. С помощью CSS можно установить в качестве маркера любое изображение. Если использовать исключительно HTML, то ваши возможности ограничены только тремя видами маркеров.

                                  • - тег, задающий начало маркированного списка html. Как и в случае с нумерованными маркерами, каждый пункт отделяется тегами
                                  • . Также есть возможность воспользоваться параметром type , значения которого и задают внешний вид используемых маркеров в каждом пункте списка. Рассмотрим эти значения поподробнее:
                                  • square – маленький квадратик, левее расположен пример данного маркера
                                  • disc – большая точка, левее расположен пример данного маркера
                                  • circle – кружок, левее расположен пример данного маркера

                                  Частенько возникает нужда создавать списки, которые вложены в другие списки. Для примера сверстаем один из таких маркированных списков html:



                                  Список определений HTML

                                  Сразу нужно заметить, что списки определений используются довольно редко, но лучше всё же с ними познакомиться. HTML теги списков определений значительно отличаются от вышеперечисленных списков.

                                  • - парный тег, который объявляет список определений;
                                  • - данный тег используется для терминов;
                                  • - этот тег служит для определений или описаний терминов;

                                  Пример списка определений.

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

                                  маркированный список

                                    — каждый элемент списка
                                  • отмечается маркером,
                                    нумерованный список
                                      — каждый элемент списка
                                    1. отмечается цифрой,
                                      список определений — — состоит из пар термин
                                      определение.

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

                                      Создание HTML-списков

                                      1. Маркированный список

                                      Маркированный список представляет собой неупорядоченный список (от англ. Unordered List) . Создаётся с помощью парного тега

                                      . В качестве маркера элемента списка выступает метка, например, закрашенный кружок.

                                      Браузеры по умолчанию добавляют следующее форматирование блоку списка:

                                      Каждый элемент списка создаётся с помощью парного тега

                                    2. (от англ. List Item) .
                                      доступны .
                                    • Microsoft
                                    • Google
                                    • Apple
                                    Рис. 1. Маркированный список

                                    2. Нумерованный список

                                    Нумерованный список создаётся с помощью парного тега . Каждый пункт списка также создаётся с помощью элемента

                                  • . Браузер нумерует элементы по порядку автоматически и если удалить один или несколько элементов такого списка, то остальные номера будут автоматически пересчитаны.

                                    Блок списка также имеет стили браузера по умолчанию:

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

                                    Для тега

                                      доступны следующие атрибуты:

                                      Таблица 1. Атрибуты тега
                                      Атрибут Описание, принимаемое значение
                                      reversed Атрибут reversed задает отображение списка в обратном порядке (например, 9, 8, 7…).
                                      start Атрибут start задает начальное значение, от которого пойдет отсчет нумерации, например, конструкция
                                        первому пункту присвоит порядковый номер «10». Также можно одновременно задавать тип нумерации, например,
                                          .
                                      type Атрибут type задает вид маркера для использования в списке (в виде букв или цифр). Принимаемые значения:
                                      1 — значение по умолчанию, десятичная нумерация.
                                      A — нумерация списка в алфавитном порядке, заглавные буквы (A, B, C, D).
                                      a — нумерация списка в алфавитном порядке, строчные буквы (a, b, c, d).
                                      I — нумерация римскими заглавными цифрами (I, II, III, IV).
                                      i — нумерация римскими строчными цифрами (i, ii, iii, iv).
                                      1. Microsoft
                                      2. Google
                                      3. Apple
                                      Рис. 2. Нумерованный список

                                      3. Список определений

                                      Списки определений создаются с помощью тега

                                      . Для добавления термина применяется тег
                                      , а для вставки определения — тег
                                      .

                                      Блок списка определений имеет следующие стили браузера по умолчанию:

                                      Для тегов

                                      ,
                                      и
                                      доступны .

                                      Режиссер:
                                      Петр Точилин
                                      В ролях:
                                      Андрей Гайдулян
                                      Алексей Гаврилов
                                      Виталий Гогунский
                                      Мария Кожевникова
                                      Рис. 3. Список определений

                                      4. Вложенный список

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

                                      • Пункт 1.
                                      • Пункт 2.
                                        • Подпункт 2.1.
                                        • Подпункт 2.2.
                                          • Подпункт 2.2.1.
                                          • Подпункт 2.2.2.
                                        • Подпункт 2.3.
                                      • Пункт 3.

                                      Рис. 4. Вложенный список

                                      5. Многоуровневый нумерованный список

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

                                      1. пункт
                                      2. пункт
                                        1. пункт
                                        2. пункт
                                        3. пункт
                                          1. пункт
                                          2. пункт
                                          3. пункт
                                        4. пункт
                                      3. пункт
                                      4. пункт

                                      Такая разметка по умолчанию создаст для каждого вложенного списка новую нумерацию, начинающуюся с единицы. Чтобы сделать вложенную нумерацию, нужно использовать следующие свойства:
                                      counter-reset сбрасывает один или несколько счётчиков, задавая значение для сброса;
                                      counter-increment задаёт значение приращения счётчика, т.е. с каким шагом будет нумероваться каждый последующий пункт;
                                      content — генерируемое содержимое, в данном случае отвечает за вывод номера перед каждым пунктом списка.

                                      Ol { /* убираем стандартную нумерацию */ list-style: none; /* Идентифицируем счетчик и даем ему имя li. Значение счетчика не указано - по умолчанию оно равно 0 */ counter-reset: li; } li:before { /* Определяем элемент, который будет нумероваться — li. Псевдоэлемент before указывает, что содержимое, вставляемое при помощи свойства content, будет располагаться перед пунктами списка. Здесь же устанавливается значение приращения счетчика (по умолчанию равно 1). */ counter-increment: li; /* С помощью свойства content выводится номер пункта списка. counters() означает, что генерируемый текст представляет собой значения всех счетчиков с таким именем. Точка в кавычках добавляет разделяющую точку между цифрами, а точка с пробелом добавляется перед содержимым каждого пункта списка */ content: counters(li,".") ". "; }
                                      Рис. 5. Многоуровневый нумерованный список

                                  Wi-Fi