Андроид. Windows. Антивирусы. Гаджеты. Железо. Игры. Интернет. Операционные системы. Программы.

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

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

С элементом

    связаны следующие особенности:

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

      На рис.1 показан результат примера, иллюстрирующий приведённые особенности маркированного списка.

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

      Вид маркера

      Маркеры могут принимать один из трёх видов: закрашенный кружок (по умолчанию), незакрашенный кружок и квадрат. Для выбора типа маркера используется свойство list-style-type или универсальное list-style (пример 1). Применяются следующие значения:

      • disc - маркеры в виде закрашенного кружка;
      • circle - маркеры в виде незакрашенного кружка;
      • square - квадратные маркеры.

      Пример 1. Изменение вида маркера

      Списки

      • Сепульки
      • Сепулькарии
      • Сепуление

      В примере показано создание маркированного списка, где в качестве значка маркера используется небольшой однотонный квадрат. Хотя количество значений ограничено тремя, это не значит, что в нашем распоряжении всего три вида маркера. Существует множество спецсимволов, которые с успехом могут выступать в качестве значка маркера. «Прикрутить» их непосредственно к

    • не получится, поэтому придётся действовать в обход. Для этого прячем маркеры списка с помощью свойства list-style со значением none и в тексте перед содержимым
    • добавляем свой собственный символ с помощью псевдоэлемента ::before . В примере 2 в качестве такого маркера выступает треугольник.

      Пример 2. Использование::before

      Списки

      • Сепульки
      • Сепулькарии
      • Сепуление

      Результат данного примера показан на рис. 2. Поскольку использование свойства list-style со значением none не убирает маркеры совсем, а только скрывает их от просмотра, то список получается смещённым вправо. Чтобы избавиться от этой особенности, в примере добавляется свойство text-indent с отрицательным значением. Его задача - переместить текст левее на один символ.

      Рис. 2. Произвольные маркеры в списке

      Символ не обязательно должен быть в шестнадцатеричном формате, его можно вставить и непосредственно в текст. Главное, сохранить документ в кодировке UTF-8 и чтобы редактор её поддерживал. Сами символы и их коды можно взять, например, из LibreOffice Writer (рис. 3).

      Рис. 3. Выбор символа в LibreOffice

      Список с рисованными маркерами

      Стили позволяют установить в качестве маркера любое подходящее изображение через свойство list-style-image . В качестве значения используется относительный или абсолютный путь к графическому файлу, как показано в примере 3.

      Пример 3. Использование изображения в качестве маркера

      Списки

      • Сепульки
      • Сепулькарии
      • Сепуление

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

      Рис. 4. Рисунок в качестве маркера

      Применение list-style-image обладает некоторыми недостатками:

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

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

    • мы убираем исходные маркеры и устанавливаем фоновую картинку без повторения. А чтобы текст не выводился поверх рисунка, смещаем его вправо через padding-left (пример 4).

      Пример 4. Использование background

      Ul { margin-left: -1em; } li { list-style: none; background: url(images/bullet.png) no-repeat 0 2px; padding-left: 20px; }

      Положение текста и маркера

      Существует два способа размещения маркера относительно текста: маркер выносится за границу элементов списка или обтекается текстом (рис. 5).



      inside outside

      Рис. 5. Размещение маркеров относительно текста

      Чтобы управлять положением маркеров, применяется свойство list-style-position . Оно имеет два значения: outside - маркеры размещаются за пределами текстового блока (это значение по умолчанию) и inside - маркеры являются частью текстового блока и отображаются в элементе списка (пример 5).

      Пример 5. Изменение положения маркеров

      Списки

      • Перед началом работы проверьте наличие оборудования, входящего в комплект 3BM.
      • При отсутствии одного или нескольких периферийных устройств следует сразу же обратиться к техническому персоналу ВЦ.
      • После осмотра визуальными методами своего рабочего места можно осторожно включить питание 3BM.

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

      Разница лишь в том, что этот тег строго сделан для нумерации списков. Название тега пришло от английского сокращения "Ordered List" - нумерованный список.

      Синтаксис тега

        1. Элемент #1
        2. Элемент #2
        3. Элемент #3
        4. ...

    Где атрибут type="value" может принимать следующие значения

    • A - задает маркеры в виде прописных латинских букв (A, B, C..);
    • a - задает маркеры в виде строчных латинских букв (a, b, c..);
    • I - задает маркеры в виде больших римских цифр (I, II, III, IV..);
    • i - задает маркеры в виде маленьких римских цифр (i, ii, iii, iv..);
    • 1 (по умолчанию) - задает маркеры в виде арабских цифр (1, 2, 3..);

    Атрибут start="value" задает начальное значение (стартовое значение) отчета.

    Атрибут reversed задает обратный счет (в случае необходимости).

    Тег

      требует обязательного использования закрывающего тега

    Для формирования элементов списка используется парный тег

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

    Примечание

    Внутри списка есть возможность изменять счет на свой. Для этого есть специальный атрибут value="" у тега

  • , которому присваивается какое-то числовое значение. Например

    1. Элемент #1
    2. Элемент #2
    3. Элемент #3

Примеры с нумерованными списками в html (
    )

Пример 1. Нумерованный список html в виде латинских букв

Пример с заглавными буквами

  1. Элемент #1
  2. Элемент #2
  3. Элемент #3
  1. Элемент #1
  2. Элемент #2
  3. Элемент #3

Пример со строчными буквами

  1. Элемент #10
  2. Элемент #11
  3. Элемент #12

Вот как это выглядит на странице:

  1. Элемент #1
  2. Элемент #2
  3. Элемент #3

Пример 2. Нумерованный список html в виде римских букв

Пример с заглавными буквами

  1. Элемент #1
  2. Элемент #2
  3. Элемент #3

Вот как это выглядит на странице:

  1. Элемент #1
  2. Элемент #2
  3. Элемент #3

Пример со строчными буквами

  1. Элемент #1
  2. Элемент #2
  3. Элемент #3

Вот как это выглядит на странице:

  1. Элемент #1
  2. Элемент #2
  3. Элемент #3

Пример 3. Нумерованный список html разная позиция старта

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

  1. Элемент #1
  2. Элемент #2
  3. Элемент #3

Вот как это выглядит на странице:

  1. Элемент #1
  2. Элемент #2
  3. Элемент #3

Пример 4. Изменение счета в нумерованных списках html

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

  • .

    1. Элемент #1
    2. Элемент #2
    3. Элемент #3
    4. Элемент #4

    Вот как это выглядит на странице:

    1. Элемент #1
    2. Элемент #2
    3. Элемент #3
    4. Элемент #4

    Пример 5. Реверсивный нумерованный список в html

    Ниже приведен пример реверсивного нумерованного списка (счет в обратном порядке).

    1. Элемент #1
    2. Элемент #2
    3. Элемент #3
    4. Элемент #4

    Вот как это выглядит на странице:

    1. Элемент #1
    2. Элемент #2
    3. Элемент #3
    4. Элемент #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 получим вложенный список корректно работающий во всех браузерах.

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

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

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

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

          1. Первый пункт списка
          2. Второй пункт списка
          3. Третий пункт списка
          4. Простые списки выглядят вот так

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

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

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

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

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

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

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

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

  • Похожие публикации