Интернет Windows Android

Нумерованный список html с подпунктами. HTML: Нумерованный и маркированный список

В 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, 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.

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

              Такой список представляет собой перечень "пронумерованный" каким-либо образом. Это могут быть арабские цифры, цифры римского алфавита или буквы.

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

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

              Html списки

              1. кошки
              2. собаки
              3. лошади

              Результат:

              1. кошки
              2. собаки
              3. лошади

              Как видите, по умолчанию нумерация ведется арабскими цифрами. Это можно изменить с помощью параметра type :

              - type="A" - нумерация заглавными латинскими буквами (A, B, C).

              - type="a" - нумерация прописными латинскими буквами (a, b, c).

              - type="I" - нумерация большими римскими цифрами (I, II, III) .

              - type="i" - нумерация маленькими римскими цифрами (i, ii, iii).

              Пример кода с римскими цифрами:

              Html списки

              1. кошки
              2. собаки
              3. лошади

              Результат:

              1. кошки
              2. собаки
              3. лошади

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

              Пример кода:

              Html списки

              1. кошки
              2. собаки
              3. лошади

              Результат:

              1. кошки
              2. собаки
              3. лошади

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

              Пример кода:

              Html списки

              1. красный
              2. оранжевый
              3. желтый

              4. ...............
              5. фиолетовый

              Результат:

              1. красный
              2. оранжевый
              3. желтый

              4. ...............
              5. фиолетовый

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

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

              Пример кода для маркированного списка:

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

              • кошки
              • собаки
              • лошади

              Результат:

              • кошки
              • собаки
              • лошади

              По умолчанию маркер отображается в виде черного кружочка. Это можно изменить с помощью параметра type :

              - type="disc" - закрашенный кружочек.

              - type="circle" - пустой кружочек.

              - type="square" - закрашенный квадратик.

              Пример кода для маркированных списков:

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

              • кошки
              • собаки
              • лошади
              • кошки
              • собаки
              • лошади
              • кошки
              • собаки
              • лошади

              Результат:

              • кошки
              • собаки
              • лошади
              • кошки
              • собаки
              • лошади
              • кошки
              • собаки
              • лошади

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

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

              . Каждый термин заключается в теги
              , а их определения - в теги
              .

              Пример кода списка определений:

              Списки определений Термин 1 Определение термина 1 Термин 2 Определение термина 2

              Результат:

              Вложенные списки

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

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

              Вложенные списки

              • Животные
                1. кошки
                2. собаки
              • Растения
                1. деревья
                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.