Тэг используемый для идентификации определения пункта списка. Маркированный и нумерованный список HTML

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

  • Объединение фрагментов информации в единую структуру для придания удобочитаемого вида.
  • Описание сложных пошаговых процессов.
  • Расположение информации в стиле оглавления, пункты которого указывают на соответствующие разделы документа.

Заметим, что приведенные выше пункты как раз и организованы в виде списковой структуры.

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

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

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

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

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

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

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

        Тэги

          и <LI >

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


          .

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

        • (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, показан ниже:

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

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

                      Овен

                      Телец

                      Близнeцы

                      Paк

                      Лeв

                      Дева

                      Весы

                      Скорпион

                      Cтpeлeц

                      Козерог

                      Водолей

                      Рыбы

                  Рис. 2.2. Маркированный список с графическими маркерами

                  В приведенном примере в качестве маркера элементов списка используется графический файл Green_ball.gif. Заметим, что использование графики на HTML-страницах может значительно увеличить объем передаваемой информации. Однако в данном случае это увеличение крайне незначительно. Здесь для всех маркеров используется один и тот же файл,

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

                  Примечание

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

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

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

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

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

                    Тэги

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

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

                    2. .

                      Приведем пример 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) в качестве следующего номера берется первый двухбуквенный номер - АА и т. д.

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


                                1. . . .


                              1. . . .


                              1. . . .

                              Рис. 2.4. Различные типы нумерации HTML-списков

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

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

                              Списки определений задаются с помощью тэга-контейнера

                              (Definition List). Внутри контейнера тэгом
                              (Definition Term) помечается определяемый термин, а тэгом
                              (Definition Description) - абзац с его определением. Для тегов
                              и
                              можно не записывать соответствующие закрывающие тэги.

                              В общем, список определений записывается следующим образом:

                              Термин

                              Определение термина

                              В тексте после тега

                              не могут использоваться элементы уровня блока, такие как, например, теги абзаца

                              Или заголовков

                              -

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

                              В тэге

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

                              Приведем пример HTML-документа, в котором использован список определений:

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

                              Классификация типичных темпераментов человека,
                              основанная

                              на воззрениях Гиппократа

                                Флегматик

                                Пассивный, очень трудоспособный, медленно приспосабливающийся;
                                настроение устойчивое, мало поддается внешнему влиянию;
                                вялость эмоциональных реакций и медлительность в волевой деятельности

                                Сангвиник

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

                                Холерик

                                Активный, очень энергичный, настойчивый;
                                порывистость и сила эмоциональных реакций, бурные волевые проявления

                                Меланхолик

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

                              Отображение приведенного HTML-документа в браузере показано на рис. 2.5.

                              Рис. 2.5. Список определений (напоминает группу статей в словаре)

                              Списки типа

                              и

                              Списки типа

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

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

                                Для списков типа

                                планировалось ввести ограничение на«длину текста элемента списка (24 символа). Такое ограничение позволило бы выводить

                                списки типа

                                в виде, подобном выводу списка каталогов в операционных системах UNIX и MS-DOS при использовании ключа /W (в несколько колонок). Кроме этого, для элементов списков такого типа не отображались маркеры.

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

                                  .

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

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

                                  Ниже приводится HTML-код документа с вложенными списками, отображение которого показано на рис. 2.6. В этом примере в каждый элемент маркированного списка вложен свой нумерованный список.

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

                                    Спутники некоторых планет

                                  • Земпя

                                      1. Луна

                                  • Mapc

                                      1. Фобос

                                      2. Деймос

                                  • Уран

                                      1. Ариэль

                                      2. Умбриэль

                                      3. Титания

                                      4. Оберон

                                      5. Миранда

                                  • Нептун

                                      1. Тритон

                                      2. Нереида

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

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

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

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

                                            Можно ассоциировать более одного термина с одним определением , или наоборот. Например, термин "кофе" может иметь несколько значений, и можно показать их одно за другим:

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

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

                                            содовая шипучка газировка кола Сладкий, насыщенный углекислым газом, напиток

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

                                            Поэтому списки определений используют одну пару элементов

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

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

                                            Термин
                                            Определение термина
                                            Термин
                                            Определение термина
                                            Термин
                                            Определение термина

                                            Который выводится следующим образом:

                                            Термин Определение термина Термин Определение термина Термин Определение термина

                                            В этом примере мы соединяем более одного термина с определением и наоборот:

                                            Термин
                                            Определение термина
                                            Термин
                                            Термин
                                            Определение которое применяется к обоим предыдущим терминам
                                            Термин, который может иметь оба следующие определения
                                            Одно определение термина
                                            Другое определение термина

                                            Что будет представлено следующим образом:

                                            Термин Определение термина Термин Термин Определение которое применяется к обоим предыдущим терминам Термин, который может иметь оба следующие определения Одно определение термина Другое определение термина

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

                                            Выбор типа списка

                                            При принятии решения об использовании определенного типа списка, обычно можно решить это, задавая два простых вопроса:

                                            1. Определяются термины (или соединяются другие пары имя/значение)?
                                              • Если да, используйте список определений .
                                              • Если нет, не используйте список определений - перейдите к следующему вопросу.
                                            2. Важен ли порядок элементов списка?
                                              • Если да, используйте упорядоченный список.
                                              • Если нет, используйте неупорядоченный список.

                                            Различие между списками HTML и текстом

                                            Можно задаться вопросом, в чем различие между списком HTML и каким-то текстом с маркерами или числами, написанными вручную. Существует несколько преимуществ использования списка HTML :

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

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

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

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

                                            1. Глава один 1. Раздел один 2. Раздел два 3. Раздел три 2. Глава два 3. Глава три

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

                                            1. Глава один
                                              1. Раздел один
                                              2. Раздел два
                                              3. Раздел три
                                            2. Глава два
                                            3. Глава три

                                            Отметим, что вложенный список начинается после элемента

                                          1. и текста, содержащего список элемента ("Глава один"); а заканчивается перед элементом
                                          2. , содержащего список элемента. Вложенные списки часто формируют основу для навигационного меню Web -сайта, так как они являются удобным способом определения структуры Web -сайта.

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

                                            Пошаговый пример

                                            Давайте рассмотрим пошаговый пример, чтобы собрать все это вместе. Рассмотрим следующий сценарий :

                                            Мы создаем небольшой Web - сайт для Кулинарной школы. На основной странице мы покажем список классифицированных рецептов, связанный ссылками со страницами рецептов. Каждая страница рецепта перечисляет требуемые ингредиенты, замечания по этим ингредиентам и метод приготовления. Тремя категориями являются "Cakes" (включающая рецепты для "Plain Sponge ", "Chocolate Cake" и "Apple Tea Cake"); "Biscuits" (включающая рецепты "ANZAC Biscuits", " Jam Drops" и "Melting Moments "); и "Quickbreads" (включающая рецепты для "Damper" и "Scones"). Клиенту все равно в каком порядке будут выводиться категории и рецепты, он просто хочет, чтобы люди понимали, какие позиции являются категориями, а какие являются рецептами.

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

                                            Разметка основной страницы

                                            Создайте правильно сформированную страницу HTML , включая doctype , элементы html , head и body , и сохраните его как stepbystep-main.html . Добавьте основной заголовок (h1 ) " HTML Cooking School", и подзаголовок (h2 ) "Recipes":

                                            HTML Cooking School

                                            Recipes

                                            Recipes

                                            • Cakes
                                            • Biscuits
                                            • Quickbreads

                                            Отступ для элементов li делает код удобнее для чтения, но не является обязательным.

                                            Теперь нужно добавить рецепты в качестве подпунктов, например, "Plain Sponge ", "Chocolate Cake" и "Apple Tea Cake" являются частью категории "Cakes". Для этого необходимо в каждой позиции списка создать вложенный список. Так как порядок неважен, то снова подходит неупорядоченный список. Чтобы упростить материал для учебного руководства, все рецепты можно соединить с одной страницей рецептов:

                                            Recipes

                                            • Cakes
                                              • Plain Sponge
                                              • Chocolate Cake
                                              • Apple Tea Cake
                                            • Biscuits
                                              • ANZAC Biscuits
                                              • Jam Drops
                                              • Melting Moments
                                            • Breads/quickbreads
                                              • Damper
                                              • Scones

                                            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 существует два вида списков: нумерованные и ненумерованные. Их создание практически одинаковое. Даже теги отличаются на один символ. Также можно создавать которые могут включать в себя как нумерованные, так и маркерные.

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

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

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

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

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

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

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

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

                                            Ненумерованные (или же маркерные) списки создаются точно так же, только вместо тега ol, пишется ul.

                                            В нет цифр или букв - только различные символы, которые называются маркерами.

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

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

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

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

                                            Для нумерованных указываем алфавит или тип цифр, а для остальных случаев - тип маркера.

                                            Если использовать специальный HTML-тег, нумерованный список может стать любым, каким вы хотите.

                                            Можно указать атрибут type с любым значением из таблицы. Или в классе стиля css указать list-style-type с желаемым типом сортировки.

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

                                            Для нумерованных списков нужно использовать следующие варианты:

                                            • 1 - арабские цифры;
                                            • A - заглавные ;
                                            • a - строчные латинские буквы;
                                            • I - заглавные римские цифры;
                                            • i - строчные римские цифры.

                                            По умолчанию всегда используется список с То есть, если вы ничего не указали, это равносильно type="1".

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

                                            Кроме этого, можно сделать вывод в обратном порядке. Для этого нужно написать reversed.

                                            Оформление списков

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

                                            Вот примеры красивых списков.

                                            Как видно из примера, можно изменять внешний вид нумерации и самих элементов.

                                            Создать обычный список можно вот так.

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

                                            Рассмотрим сначала вариант с круглым оформлением списка. Вернитесь к коду списка. Там указан класс rounded-list. Вот именно с этим классом нужно повозиться, чтобы сделать такую красоту. Назвать класс вы можете как хотите.

                                            Теперь рассмотрим квадратное оформление.

                                            Стили весьма похожи. Разница в том, что в первом случае происходит округление элемента посредством возможностей css.

                                            Профессиональный верстальщик должен предвидеть и понимать, что не все пользователи используют современные компьютеры. Не у всех установлены Windows 7, 8, 10. Существует процент пользователей, кто до сих пор сидит на Windows XP и использует старые версии браузера Internet Explorer.

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

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

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