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

22.06.2019

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

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

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

Обычный нумерованный можно создать при помощи следующих тегов:

  • Первый пункт списка
  • Второй пункт списка
  • Третий пункт списка
  • Простые списки выглядят вот так

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

  • , то автоматически перед ним ставит
  • .

    Таким образом, списки можно делать так, как показано ниже.

    Но с точки зрения профессионалов это некорректно.

    Ненумерованные (или же маркерные) списки создаются точно так же, только вместо тега ol, пишется ul.

    В нет цифр или букв - только различные символы, которые называются маркерами.

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

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

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

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

    Для нумерованных указываем алфавит или тип цифр, а для остальных случаев - тип маркера.

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

    Можно указать атрибут type с любым значением из таблицы. Или в классе стиля css указать list-style-type с желаемым типом сортировки.

    Перевод значений довольно простой. Хватит базовых знаний английского языка. Но даже если вы не можете перевести слова "круг", "квадрат" и т. п., то можно визуально понять, каков будет результат при указании этих значений в атрибуте type.

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

    • 1 - арабские цифры;
    • A - заглавные ;
    • a - строчные латинские буквы;
    • I - заглавные римские цифры;
    • i - строчные римские цифры.

    По умолчанию всегда используется список с То есть, если вы ничего не указали, это равносильно type="1".

    Помимо этого, нумерованные списки можно начинать с любой желаемой позиции. По умолчанию - вывод от 1. Но при желании можно начать хоть со ста. Для этого нужно указать атрибут start с любым значением.

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

    Оформление списков

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

    Вот примеры красивых списков.

    Как видно из примера, можно изменять внешний вид нумерации и самих элементов.

    Создать обычный список можно вот так.

    В стилях css нужно указать оформление для тегов ol. Обратите внимание, что в этом случае настройки будут применены ко всем спискам всего сайта, где используется этот файл стилей.

    Рассмотрим сначала вариант с круглым оформлением списка. Вернитесь к коду списка. Там указан класс rounded-list. Вот именно с этим классом нужно повозиться, чтобы сделать такую красоту. Назвать класс вы можете как хотите.

    Теперь рассмотрим квадратное оформление.

    Стили весьма похожи. Разница в том, что в первом случае происходит округление элемента посредством возможностей css.

    Профессиональный верстальщик должен предвидеть и понимать, что не все пользователи используют современные компьютеры. Не у всех установлены Windows 7, 8, 10. Существует процент пользователей, кто до сих пор сидит на Windows XP и использует старые версии браузера Internet Explorer.

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

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

    Делайте что-то подходящее для всех или учитывайте все варианты браузеров.

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

      , а каждый пункт списка начинается с тега
    • , как показано ниже.

      • Первый пункт
      • Второй пункт
      • Третий пункт

      В списке непременно должен присутствовать закрывающий тег

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

    В примере 11.1 приведен код HTML для добавления маркированного списка на веб-странице.

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

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


    • Чебурашка
    • Крокодил Гена
    • Шапокляк
    • Крыса Лариса

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

    Рис. 11.1. Вид маркированного списка

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

    Маркеры могут принимать один из трех видов: круг (по умолчанию), окружность и квадрат. Для выбора стиля маркера используется атрибут type тега

      . Допустимые значения приведены в табл. 11.1

      Табл. 11.1. Стили маркеров списка
      Тип списка Код HTML Пример
      Список с маркерами в виде круга

      • Первый
      • Второй
      • Третий
      Список с маркерами в виде окружности

      • Первый
      • Второй
      • Третий
      Список с квадратными маркерами

      • Первый
      • Второй
      • Третий

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

      Создание списка с квадратными маркерами показано в примере 11.2.

      Пример 11.2. Вид маркеров

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

      Изменение убеждений

      • изменение религиозной веры (на выбор: буддизм, конфуцианство, индуизм). Специальное предложение - иудаизм и мусульманство вместе;
      • изменение веры в непогрешимость любимой партии;
      • убеждение в том, что инопланетяне существуют;
      • предпочтение политического строя, как самого лучшего в своем роде (на выбор: феодализм, социализм, коммунизм, капитализм).

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

      - 4.5 out of 5 based on 2 votes

      Очень часто определенную информацию на сайте необходимо представить в виде списков.

      Списки позволяют упорядочить и систематизировать различную информацию и представить ее для посетителя в удобном виде.

      Списки в HTML могут быть трех разновидностей: маркированные списки, нумерованные списки и списки определений. Рассмотрим, как их создавать по порядку.

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

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

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

        Код маркированного списка будет выглядеть так:

        • Вариант такой
        • Вариант сякой
        • Вариант эдакий

        Можете попробовать создать HTML страничку, используя данный код и у вас, в результате получится следующий список:

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

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

          • disc - круг;
          • circle - окружность;
          • square - квадрат.

          Значение disc используется по умолчанию.

          Пример создания маркированного списка с маркерами в виде окружности:

          • Вариант такой
          • Вариант сякой
          • Вариант эдакий

          В результате список примет, следующий вид:

          Создание маркированного списка с маркерами в виде квадратиков:

          • Вариант такой
          • Вариант сякой
          • Вариант эдакий

          Список будет иметь вид:

          Атрибут type можно применять не только к тегу

            , но и к тегу
          • . Таким образом можно создать список с разнообразными маркерами.

            • Вариант такой
            • Вариант сякой
            • Вариант эдакий

            В результате получится следующее:

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

            Нумерованные списки в HTML представляют собой списки, в которых каждый пункт имеет порядковый номер, создаются нумерованные списки при помощи тега

              и вложенных в его тегов
              1. Первая строчка
              2. Вторая строчка
              3. Третья строчка

              Выглядит такой список следующим образом:

              По умолчанию нумерация производится арабскими цифрами. Но у тега

                есть атрибут type, при помощи значений которого нумерацию можно делать заглавными (type="A") или строчными (type="a") латинскими буквами, римскими цифрами в верхнем (type="I") и нижнем (type="i") регистре.

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

                Вид списка:

                Вид списка:

                Нумерация строчными буквами латинского алфавита:

                Вид списка:

                Вид списка:

                Вид списка:

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

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

                . Тег
                создает контейнер для списка, тег
                устанавливает термин, а тег
                описание или определение термина.

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

                Термин 1
                Определение термина 1
                Термин 2
                Определение термина 2
                Термин 3
                Определение термина 3

                В результате получится следующий список:

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

                Вложенные или многоуровневые списки в HTML.

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

                Например, вот код, при помощи которого в элементы маркированного списка вложены нумерованные списки.

                • Вариант такой
                  1. Первая строчка
                  2. Вторая строчка
                  3. Третья строчка
                • Вариант сякой
                  1. Первая строчка
                  2. Вторая строчка
                  3. Третья строчка
                • Вариант эдакий
                  1. Первая строчка
                  2. Вторая строчка
                  3. Третья строчка

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

                  , который и применяется для создания списка. Каждый пункт нумерованного списка обозначается тегом
                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. Нумерованный список с римскими числами

                        Списки активно используются для автоматической нумерации блоков контента. Однако при использовании вложенных списков нельзя получить нумерацию подпунктов типа 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 получим вложенный список корректно работающий во всех браузерах.