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

Стандартом пятой версии html поддерживается 3 вида списков: нумерованные списки, маркированные списки и списки определений . Также предоставляется возможность вкладывать списки друг в друга, создавая вложенные многоуровневые списки .

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

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

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

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

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

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

    1. Кофе
    2. Чай
    3. Молоко
    Попробовать »

    Примечание: тег

      в качестве дочерних элементов может содержать только теги
    1. , то есть всё содержимое нумерованного списка должно размещаться внутри элементов
    2. . Тег
    3. , в свою очередь, не имеет ограничений на содержимое, поэтому в нём можно размещать абзацы, картинки, ссылки, таблицы, другие списки и т.д.

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

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

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

        , внутри которого располагаются элементы самого списка (как и в случае с нумерованными списками используется тег
      • , который содержит в себе всё отображаемое содержимое списка):

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

        • Кофе
        • Чай
        • Молоко
        Попробовать »

        Виды маркеров

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

        Маркированные списки не имеют атрибута type , поэтому средствами HTML изменить вид маркера у маркированного списка не получится. Для изменения вида маркера, в этом случае, можно воспользоваться CSS свойством list-style-type , с помощью которого, помимо значения по умолчанию, можно выбрать ещё два вида маркера: circle или square .

        Изменение маркеров у списков:

        Заголовок страницы

        Нумерованный список c атрибутом type="a":

        1. Яблоки
        2. Бананы
        3. Лимоны

        Нумерованный список c атрибутом type="I":

        1. Яблоки
        2. Бананы
        3. Лимоны

        Виды маркеров маркированных списков:

        • Яблоки
        • Бананы
        • Лимоны
        • Яблоки
        • Бананы
        • Лимоны
        Попробовать »

        CSS свойство list-style-type , помимо видов маркеров для маркированных списков, имеет множество различных видов маркеров и для нумерованных списков. Но не всегда изменения одного стандартного вида маркера на другой бывает достаточно для того, чтобы красиво оформить список. Для оформления списков лучше использовать CSS, который позволяет не только изменять вид маркера, но и заменять маркеры на картинки, контролировать их расположение и управлять отступом. Как всё это делать вы можете посмотреть .

        Горизонтальный список

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

        Чтобы создать горизонтальный список, надо для пунктов списка прописать CSS свойство display со значением inline или inline-block , в зависимости от того, какие ещё свойства вы собираетесь использовать.

        Заголовок страницы

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

        1. Яблоки
        2. Бананы
        3. Лимоны

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

        • Яблоки
        • Бананы
        • Лимоны
        Попробовать »

        После этого все пункты списка выстроятся в одну строку. Обратите внимание, что у пунктов списка пропадут маркеры и между ними не будет даже пробела, но отступ слева у списка останется.

        Как горизонтальный список превратить в горизонтальное меню, вы можете посмотреть .

        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. Многоуровневый нумерованный список