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

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

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

    • арабские цифры (1, 2, 3, ...);
    • арабские цифры c нулём впереди для цифр меньше десяти (01, 02, 03, ...,10);
    • прописные латинские буквы (А, В, С, ...);
    • строчные латинские буквы (а, b, с, ...);
    • римские цифры в верхнем регистре (I, II, III, ...);
    • римские цифры в нижнем регистре (i, ii, iii, ...);
    • армянская нумерация;
    • грузинская нумерация.

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

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

    Допускается начинать список с любого номера; для этой цели применяется атрибут start элемента

      или value у элемента
    1. . В качестве значения указывается любое целое положительное число. При этом неважно, какой тип нумерации установлен, даже если в качестве списка используются латинские буквы. Если одновременно для списка применяются атрибуты start и value , то последний имеет большее преимущество, и нумерация отображается с числа, указанного value , как показано в примере 1.

      Пример 1. Изменение нумерации списка

      Списки

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

      Первый элемент списка в данном примере будет начинаться с римской цифры IV, поскольку указан атрибут start="4" , затем идет номер V, а последний элемент следует не по порядку и назначается номером X (рис. 1).

      Рис. 1. Римские цифры в списке

      Написание чисел

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

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

      Стили позволяют поменять вид нумерации списков с помощью свойств content и counter-increment . Вначале для селектора ol требуется задать counter-reset : item , это нужно для того, чтобы нумерация в каждом новом списке начиналась заново. В противном случае, нумерация будет продолжена и вместо 1,2,3 можно будет увидеть 5,6,7. Значение item это уникальный идентификатор счётчика, мы его выбираем сами. Далее необходимо спрятать исходные маркеры через стилевое свойство list-style-type со значением none .

      Свойство content, как правило, работает в сочетании с псевдоэлементами ::after и ::before . Так, конструкция li::before говорит о том, что перед каждым элементом списка необходимо добавить какое-то содержание (пример 2).

      Пример 2. Создание своей нумерации

      Li::before { content: counter(item) ") "; /* Добавляем к числам скобку */ counter-increment: item; /* Задаём имя счетчика */ }

      Свойство content со значением counter(item) выводит число; добавляя скобку, как показано в данном примере, получим требуемый вид нумерации. counter-increment необходим для увеличения номера списка на единицу. Обратите внимание, что везде используется один и тот же идентификатор с именем item . Окончательный код показан в примере 3.

      Пример 3. Изменение вида списка

      Списки

      1. Первый
      2. Второй
      3. Третий
      4. Четвертый

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

      Content: "[" counter(item) "] ";

      Список с русскими буквами

      Нумерованный список есть с латинскими буквами, а вот русских букв для списка нет. Их можно добавить искусственно, воспользовавшись вышеприведённым приёмом. Поскольку нумерация делается через стили, сам список остаётся исходным, к нему лишь добавляется выбранный класс, назовём его cyrilic (пример 4).

      Пример 4. Код для создания списка

      1. Один
      2. Два
      3. Три

      Добавление букв осуществляется с помощью псевдоэлемента ::before и свойства content . Поскольку в каждой строке должна быть своя буква, воспользуемся псевдоклассом :nth-child(1) , в скобках пишется номер буквы. Первой буквой, естественно, идёт А, второй - Б, третьей - В и т. д. Весь этот набор добавляется к селектору li следующим образом (пример 5).

      Пример 5. Применение псевдокласса:nth-child

      Cyrilic li:nth-child(1)::before { content: "а)"; } .cyrilic li:nth-child(2)::before { content: "б)"; } .cyrilic li:nth-child(3)::before { content: "в)"; }

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

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

      Пример 6. Список с русскими буквами

      Список

      1. Борщ
      2. Котлеты из щуки
      3. Кулебяка
      4. Грибы в сметане
      5. Блины с икрой
      6. Квас

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

      В 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. Лимоны

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

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

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

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

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

            С элементом

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

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

                На рис.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.

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

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

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

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

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

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

                    По умолчанию в качестве маркера списка используется чёрный кружок (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

                                Одним из типов списков, реализованных в языке HTML, является маркированный список. Иначе списки такого типа называют ненумерованными или неупорядоченными. Последнее название часто используется как формальный перевод названия соответствующего тега

                                  , с помощью которого и организуются списки такого типа в HTML-документах (UL - Unordered List, неупорядоченный список).

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

                                  Теги
                                    и

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


                                  .

                                  Каждый элемент списка должен начинаться тегом

                                • (LI - List Item, элемент списка). Тег
                                • не нуждается в соответствующем закрывающем теге, хотя его наличие в принципе не возбраняется. Браузеры обычно при отображении документа начинают каждый новый элемент списка с новой строчки.

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

                                  Пример маркированного списка

                                  Знаки зодиака:

                                  • Овен

                                  • Телец

                                  • Близнецы

                                  • Дева

                                  • Весы

                                  • Скорпион

                                  • Стрелец

                                  • К озерог

                                  • Водолей

                                  • Рыбы

                                  Рис. 2.1. Отображение браузером маркированного списка

                                  Заметим, что кроме элементов списка, отмечаемых тегом

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

                                  Примечание

                                  В некоторых учебниках по языку HTML встречается указание, что для задания заголовка списка следует применять тег-контейнер (LH - List Header, заголовок списка). В настоящее время этот тег не распознается ни одним из распространенных браузеров и не входит в спецификацию HTML. Таким образом, его применение становится бессмысленным, хотя и не приведет к каким-либо ошибкам.

                                  В теге

                                    могут быть указаны два параметра: COMPACT и TYPE.

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

                                    Примечание

                                    В настоящее время наличие параметра COMPACT в теге

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

                                      Параметр TYPE может принимать следующие значения: disc, circle и square. Этот параметр используется для принудительного задания вида маркеров списка. Конкретный вид маркера будет зависеть от используемого браузера. Типичными вариантами отображения являются следующие:

                                      TYPE = disc - маркеры отображаются закрашенными кружками; TYPE = circle - маркеры отображаются не закрашенными кружками; TYPE = square - маркеры отображаются закрашенными квадратиками. Пример записи:

                                        .

                                        Значением, используемым по умолчанию, является TYPE = disc. Для вложенных маркированных списков на первом уровне по умолчанию используется значение disc, на втором - circle, на третьем и далее - square. Именно так делается в последних версиях браузеров Netscape и Internet Explorer. Заметим, что иные браузеры могут иначе отображать маркеры. Например, в спецификации HTML 4.0 для вида маркера, отображаемого при значении TYPE = square, указывается незакрашенный квадратик (square outline).

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

                                      • .

                                        Пример записи:

                                      • .

                                        Примечание

                                        Браузеры по-разному интерпретируют указание вида маркера для отдельного элемента списка. Браузер Netscape изменяет вид маркера для данного и всех последующих, пока не встретится очередное переопределение вида маркера. Браузер Internet Explorer изменяет вид маркера только для данного элемента.

                                        Графические маркеры списка

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

                                        Чтобы понять идею, необходимо разобраться в механизме реализации списков на HTML-страницах. Оказывается, что тег списка

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

                                          Если же нам требуется построить список с графическими маркерами, то можно вообще обойтись без тегов

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

                                          Или принудительного перевода строки
                                          . Пример реализации списка с графическими маркерами, отображение которого представлено на рис. 2.2, показан ниже:

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

                                          Примечание

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