Многоуровневый нумерованный список html формат нумерации. Нумерованные списки. Стандартные маркеры для маркированного списка

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

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

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

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

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

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

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

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

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

                    Теги
                      и

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

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

                  1. .

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

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

                    Наиболее яркие звезды, видимые с Земли:

                    • Сириус

                    • К анопус

                    • Арктур

                    • Альфа Центавра

                    • Вега

                    • К апелла

                    • Ригель

                    • Процион

                    • Ахернар

                    • Бета Центавра

                    • Ветельгейзе

                    • Альдебаран

                    • Мицар

                    • Пoляpнaя

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

                    В теге

                      могут быть указаны следующие параметры: COMPACT, TYPE и START.

                      Параметр COMPACT имеет тот же смысл, что и у маркированных списков. Параметр TYPE используется для задания вида нумерации списка. Может принимать следующие значения:

                      TYPE = А - задает маркеры в виде прописных латинских букв;

                      TYPE = а - задает маркеры в виде строчных латинских букв;

                      TYPE = I - задает маркеры в виде больших римских цифр;

                      TYPE = i - задает маркеры в виде маленьких римских цифр;

                      TYPE = 1 - задает маркеры в виде арабских цифр.

                      По умолчанию всегда используется значение TYPE = 1, т. е. нумерация при помощи арабских цифр. Это касается и вложенных нумерованных списков. Здесь, в отличие от маркированных списков, браузеры по умолчанию не делают различной нумерацию на различных уровнях вложенности списков. Заметим, что после номера элемента списка всегда дополнительно выводится знак "точка".

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

                    1. .

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

                    2. .

                      Параметр START тега

                        позволяет начать нумерацию списка не с единицы. В качестве значения параметра START всегда должно указываться натуральное число, вне зависимости от вида нумерации списка. Приведем пример:

                          .

                          Такая запись определяет нумерацию списка с прописной латинской буквы "E". Для других видов нумерации запись START=5 задаст нумерацию, соответственно, с числа "5", римской цифры "V" и т. д.

                          Изменение вида нумерации списка и значений номеров допустимо производи ть и для любого элемента списка. Тег

                        1. для нумерованных списков разрешает использовать параметры TYPE и VALUE. Параметр TYPE может прини мать такие же значения, как и для тега
                            .

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

                          1. .

                            Примечание

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

                            З начение параметра VALUE тега

                          2. - позволяет изменить номер данного элем ента списка. При этом изменяется нумерация и всех последующих элементов. Типичным применением являются списки с пропуском некоторых эл ементов. Пример такого списка был приведен выше (рис. 2.3). В нем дается уп орядоченный список наиболее ярких звезд, в котором на 58 и 75 местах р асположены звезды, хорошо видимые в наших широтах (Мицар - наиболее яркая звезда созвездия Большая Медведица, а Полярная звезда - Малой Медведицы).

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

                          3. нет никаких данных. Пример такого рода можно использовать в качестве таблицы соответствия между записью чисел арабскими и римскими цифрами. Оказывается, что любой браузер, поддерживающий списки, можно использовать в качестве генератора такой таблицы (рис. 2.4), стоит лишь набрать приводимый HTML-код. Нумерация римскими цифрами правильно работает вплоть до значения 3999. Изучая правый столбец, можно понять, как выполняется нумерация латинскими буквами. По исчерпании однобуквенной нумерации (от А до Z) в качестве следующего номера берется первый двухбуквенный номер - АА и т. д.

                            Использование различного типа нумерации в списках


                              . . .

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

                                    Одним из типов списков, реализованных в языке 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.

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

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