Создание нумерованного списка в html. Маркированные списки. Полезные материалы по спискам HTML

Списки встречаются везде. Они используются для:

  • разбивки больших сегментов текста на части;
  • выделения важных моментов;
  • изложения «плана действий » и перечня мероприятий (нумерованный список в HTML ).

Использование маркированных списков помогает людям проще переварить все то, что вы им говорите. Но как они задаются на веб-странице?

Маркированные списки (или ненумерованные списки)

Первый вид списка, который мы рассмотрим, это маркированный.

Ненумерованные списки — тег

    Маркированный список также известен как ненумерованный, потому в нем нет нумерации элементов. Для маркированного списка используется пара тегов . Ниже приводится простой его пример:

    • Пункт 1
    • Пункт 2
    • Пункт 3

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

    Атрибут type

    Атрибут type определяет, какой тип маркера вы увидите на странице. Хотя с помощью CSS можно задать широкий диапазон стилей маркеров, и даже использовать собственное изображение, но лучше придерживаться основных типов (в том числе и в нумерованном списке HTML ):

    Элементы списка — тег
  • Каждый элемент в списке обворачивают в отдельную пару тегов

  • . Часто можно обойтись и без
  • , но я бы рекомендовал придерживаться этого правила.

    Приведенный выше список помещен в отдельный тег

      , но каждый
    • также поддерживает собственный атрибут type , и таким образом можно создать следующий список:


      Отступ маркированного списка

      Перед тем, как к списку будет применен любой стиль CSS , HTML (а точнее браузер ) применяет к нему отступы, поэтому он отличается от обычного абзаца с тегом

      Упорядоченный / нумерованный список — тег

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

          поможет в этом. По умолчанию он задает нумерованный список HTML :

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

          что на выходе дает нам:

          A. Элемент 1
          B. Элемент 2
          C. Элемент 3

          Атрибут type дает возможность использовать еще несколько дополнительных вариантов оформления нумерованных списков по сравнению с маркированными.

          Начало нумерованного списка с определенного номера

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

          Проблема заключается в том, что по умолчанию каждый список начинается с номера 1 (или буквы А ). Это бы внесло неразбериху в ваше руководство!

          К счастью, в HTML есть свойство start , которое позволяет начать нумерацию с указанного номера:

          1. Шаг четыре
          2. Шаг пять
          3. Шаг шесть

          Что дает нам следующее:
          4. Шаг четыре
          5. Шаг пять
          6. Шаг шесть

          Обратный порядок

          Если вы хотите вывести номера (или буквы ) в обратном порядке, то это можно сделать, добавив в тег нумерованного списка в HTML ключевое слово reversed :

          1. Первый пункт
          2. Второй пункт
          3. Третий пункт
          4. Четвертый пункт
          5. Пятый пункт

          В результате список будет выглядеть следующим образом:
          5. Пятый пункт.
          4. Четвертый пункт.
          3. Третий пункт.
          2. Второй пункт.
          1. Первый пункт.

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

          С помощью установленных в браузерах патчей поддержки (и иногда с помощью отмены CSS для некоторых сайтов ) можно создать HTML многоуровневый нумерованный список. Это достигается за счет встраивания одного списка в другой:

          • Элемент верхнего уровня
            • Подчиненный элемент 1
            • Подчиненный элемент 2
          • Элемент верхнего уровня

          Что дает нам:

          Элемент верхнего уровня
          o Подчиненный элемент 1
          o Подчиненный элемент 2
          Элемент верхнего уровня

          Вы можете использовать комбинацию тегов

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

              1. Элемент верхнего уровня
              o Подчиненный элемент 1
              o Подчиненный элемент 2
              2. Элемент верхнего уровня

              Используйте нумерованные списки HTML на своих страницах.

              Заключение

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

              Перевод статьи «Numbered and Bullet Point Lists in HTML » был подготовлен дружной командой проекта .

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

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

                • арабские цифры (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.

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

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

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

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

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

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

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

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

                                    — каждый элемент списка
                                  • отмечается маркером,
                                    нумерованный список
                                      — каждый элемент списка
                                    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. Многоуровневый нумерованный список

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