Нумерованный список. Стилизация номеров строк (цифр) в упорядоченных списках ol Html элементы ol ul используются для создания


Разница лишь в том, что этот тег строго сделан для нумерации списков. Название тега пришло от английского сокращения "Ordered List" - нумерованный список.

Синтаксис тега

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

    Где атрибут type="value" может принимать следующие значения

    • A - задает маркеры в виде прописных латинских букв (A, B, C..);
    • a - задает маркеры в виде строчных латинских букв (a, b, c..);
    • I - задает маркеры в виде больших римских цифр (I, II, III, IV..);
    • i - задает маркеры в виде маленьких римских цифр (i, ii, iii, iv..);
    • 1 (по умолчанию) - задает маркеры в виде арабских цифр (1, 2, 3..);

    Атрибут start="value" задает начальное значение (стартовое значение) отчета.

    Атрибут reversed задает обратный счет (в случае необходимости).

    Тег

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

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

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

    Примечание

    Внутри списка есть возможность изменять счет на свой. Для этого есть специальный атрибут value="" у тега

  2. , которому присваивается какое-то числовое значение. Например

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

    Примеры с нумерованными списками в html (
      )

    Пример 1. Нумерованный список html в виде латинских букв

    Пример с заглавными буквами

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

    Пример со строчными буквами

    1. Элемент #10
    2. Элемент #11
    3. Элемент #12

    Вот как это выглядит на странице:

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

    Пример 2. Нумерованный список html в виде римских букв

    Пример с заглавными буквами

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

    Вот как это выглядит на странице:

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

    Пример со строчными буквами

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

    Вот как это выглядит на странице:

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

    Пример 3. Нумерованный список html разная позиция старта

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

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

    Вот как это выглядит на странице:

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

    Пример 4. Изменение счета в нумерованных списках html

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

  3. .

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

    Вот как это выглядит на странице:

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

    Пример 5. Реверсивный нумерованный список в html

    Ниже приведен пример реверсивного нумерованного списка (счет в обратном порядке).

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

    Вот как это выглядит на странице:

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

    В языке 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. Нереида

                                      Задача

                                      Отобразить маркированый список горизонтально без маркеров.

                                      Решение

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

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

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

                                        или

                                        Так вот, тег

                                      • также является блочным элементом.

                                        Чтобы тег

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

                                        За то, как элемент будет отображён в документе отвечает CSS свойство display . Рассмотрим три его значения (хотя их больше):

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

                                        Сначала сделаем горизонтальный список превратив его пунткы в строчные элементы. В стиле CSS пропишем правило, в котором селектору li установлено свойство display со значением inline .

                                        Список горизонтально

                                        Итак, этот стиль сработал и получили горизонтальное расположение пунктов списка:

                                        Рисунок 1. Работа примера №1.

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

                                        Например нам нужно чтобы элемент создаваемого нами меню имел ширину 150px и высоту 40px . Попробуем изменить стиль на следующий, то есть добавим два правила устанавливающих размер пункта меню:

                                        Эти правки не приведут ни к каким изменениям. Чтобы элементы меню располагались горизонтально и можно было устанавливать их ширину и высоту им нужно установить тип inline-block . Изменим код нашего примера:

                                        Список горизонтально

                                        Этот код работает и изменения видны:


                                        Рисунок 2. Работа примера №2.

                                        Но могут быть разные варианты, например нам нужно отобразить в меню вложенные списки:

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

                                        Вот результат работы этого кода:


                                        Рисунок 3. Работа примера №3.

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

                                        А собственно, почему так происходит?

                                        Наши блоки имеют свойство display со значением inline-block . Это значит что у них есть качества как блочных элементов (возможность указать ширину и высоту), так и строчных элементов. То что мы наблюдаем - это качество строчных элементов.

                                        Давайте рассмотрим строку с символами "А" разной величины:

                                        А А А А А А А

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

                                        Для выравния текста по вертикали служит свойство vertical-align . В нашем примере №3 нужно использовать значение top , которое выравняет верхнюю границу элемента по верху самого высокого элемента строки.

                                        Пока применим его к строке с символами "А" разной величины:

                                        А А А А А А А

                                        Кажется, что буквы немного "скачут". Я установил CSS границу border самой высокой букве, чтобы было видно, что скачков на самом деле нет, есть пустое пространство между верхней границей (по которой происходит выравнивание) и верхней точкой символа "А".

                                        Свойство vertical-align нужно применять к каждому строчному элементу, оно не наследуется. Вы можете прочитать подробней про это свойство: vertical-align .

                                        После этого отступления продолжим размещать элементы списка горизонтально.

                                        Второй способ

                                        Разместить элементы списка горизонтально можно используя свойство float . Это свойство указывает по какой стороне выравнивается элемент, имеет две позиции: left и right .

                                        Вот пример с использованием этого кода:

                                        Список горизонтально

                                        Вот результат работы кода:

                                        Рисунок 4. Работа примера.

                                        Вроде пример работает. Но в использовании этого свойства есть один нюанс. Сейчас мы его рассмотрим. Для примера возьмём код, в котором есть два горизонтальных списка с разным способом расположения элементов горизонтально: display и float :

                                        Список горизонтально

                                        Вот результат работы кода:

                                        Рисунок 5. Работа примера.

                                        В этих примерах контейнеры списка

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

                                          При этом на первый взгляд всё работает. Но давайте поменяем местами наши списки. Поставим список с классом menu-1 в коде перед списком с классом menu-2 (сейчас он ниже).

                                          Вот что мы получим в результате:

                                          Рисунок 6. Работа примера.

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

                                          Как решить эту проблему?

                                          Для этого нужно использовать свойство clear , оно отменяет обтекание элементом другого элемента, если у того установлено свойство float .

                                          Вот изменённый пример с использованием свойства clear :

                                          Список горизонтально

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

                                        • всё ещё располагаются вне контейнера
                                            .

                                            Рисунок 7. Работа примера.

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

                                            Это делается при помощи псевдоэлемента. Вот код:

                                            Список горизонтально

                                            Теперь у нас 100% рабочий код.

                                            Рисунок 8. Работа примера.

                                            Этот приём со свойством float обычно используют при вёрстке сайтов для выравнивания столбцов, которые создаются тегами

                                            . Таким способом мы получаем нормальное построение столбцов с требуемым выравниванием по высоте. Когда мы создаём меню, то нам, в большенстве случаев, не важна высота блоков, она практически всегда одинакова. Поэтому использование правила {display : inline-block } в этих случаях вполне оправдано.

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

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


                                            .

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

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

                                            Как всегда, план работы:

                                            1. Абзацы
                                            2. Разрывы строк
                                            3. Списки , и элементы списков
                                            4. Заголовки
                                            5. Горизонтальные линейки

                                            Абзацы

                                            Текст почти всегда состоит из абзацев. Абзац — это элемент текста, несущий законченную мысль.

                                            В html абзац, как можно судить из заголовка, обозначается . Буква «p» взята из слова «paragraph», что как-раз обозначает «абзац».

                                            Рассмотрим пример:

                                            Текст первого абзаца. Он содержит мысль. Но вот мысль закончилась.


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

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

                                            Разрывы строк

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

                                            Ветер весело гуляет

                                            И кораблик подгоняет

                                            Он бежит себе в волнах
                                            На поднятых парусах.

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

                                            Списки ,
                                              и элементы списков

                                            Иногда в тексте нужно перечислить что-то. Для этой цели применяются три тега: ul, ol, li. Все эти теги контейнерные, но тег всегда содержится в одном из контейнеров или , и не имеет смысла вне них. Контейнер ul применяется, когда нам не важен порядок перечисляемых позиций, и мы не хотим акцентировать внимание на порядке, в котором они идут. А тег ol, наоборот, акцентирует внимание на последовательности следования элементов, автоматически нумеруя каждую строку. Рассмотрим пример:


                                            • Булка

                                            • Пирожок

                                            • Буханка

                                            • Пирог

                                            На экране браузера этот код будет выглядеть так:

                                            • Булка
                                            • Пирожок
                                            • Буханка
                                            • Пирог

                                            Если мы просто заменим тег ul на тег ol, то получим нумерованый список:


                                            1. Булка

                                            2. Пирожок

                                            3. Буханка

                                            4. Пирог

                                            Теперь это выглядит так:

                                            1. Булка
                                            2. Пирожок
                                            3. Буханка
                                            4. Пирог

                                            Никто не запрещает вкладывать один список в другой, формируя вложенные списки с подсписками:


                                              Инструменты:
                                            • Пила

                                            • Отвертки

                                              1. Прямая

                                              2. Крестовая



                                            • Дрель

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

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

                                            Заголовки

                                            Конечно, абзацы помогают в структурировании документов. Но для того, чтобы разбить большой текст на меньшие логические части, можно озаглавить каждую из них. Каждая часть может содержать еще подчасти, со своими заголовками нижнего уровня, и так далее. Для задания заголовка, служат теги , где «x» — число от 1 до 6. Заголовок тем ниже уровнем, чем больше это число. То есть, заголовок самого верхнего уровня будет называться h1, а самого нижнего — h6. По-умолчанию, текст, находящийся в этих заголовках, отображается большим шрифтом с отступами. Этот текст отображается на всю строку, то есть теги hx являются блочными. У тега h1 шрифт самый крупный, а у тега h6 — самый мелкий. Как правило, на странице один, максимум — два тега верхнего уровня h1. С понижением уровня, количество тегов возрастает. Но редко какой веб-мастер сможет разбить текст так, что ему понадобятся заголовки 5 или 6 уровня. Даже 4 уровень применяется редко.

                                            Меньше слов, больше дела!

                                            В языке разметки гипертекста HTML имеется тег

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

                                              Синтаксис тега

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

                                                Этот код преобразуется в маркированный список на сайте:

                                                • Элемент #1
                                                • Элемент #2
                                                • Элемент #3

                                                Тег

                                                  требует обязательного использования закрывающего тега
                                                .

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

                                                Что может являться содержимым маркированного списка?

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

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

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

                                                  Допускается вложения "список в списке"

                                                  Например

                                                  • Элемент #1
                                                    • Элемент #2-1
                                                    • Элемент #2-2
                                                    • Элемент #2-3
                                                  • Элемент #3
                                                  • ...

                                                  Атрибуты и свойства тега

                                                    Широко распространённым атрибутом тега

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

                                                      1. type="disc" - маркер в виде закрашенного кружка (это значение стоит по умолчанию). Пример с диском был чуть выше.

                                                      2. type="circle" - маркер в виде прозрачного кружка

                                                      Например:

                                                      • Элемент #1
                                                      • Элемент #2
                                                      • Элемент #1
                                                      • Элемент #2

                                                      3. type="square" - маркер в виде квадратика

                                                      Например:

                                                      • Элемент #1
                                                      • Элемент #2

                                                      А вот как это выглядит на странице:

                                                      • Элемент #1
                                                      • Элемент #2
                                                      Примечание 1

                                                      В CSS тип маркера задается с помощью атрибута list-style-type :

                                                      • ...

                                                      Рассмотрим какие значения может принимать list-style-type :

                                                      • disc - маркер в виде кружка (пример был выше)
                                                      • circle - маркер в виде прозрачного кружка (пример был выше)
                                                      • square - маркер в виде квадратика (пример был выше)
                                                      • decimal - маркер в виде нумереннового списка арабскими цифрами: 1, 2, 3, ...
                                                      • decimal-leading-zero - маркер в виде нумереннового списка арабскими цифрами с нулем в начале: 01, 02, 03, ...
                                                      • lower-roman - маркер в виде нумереннового списка римским алфавитом маленькими буквами: i, ii, iii, iv, v
                                                      • upper-roman - маркер в виде нумереннового списка римским алфавитом большими буквами: I, II, III, IV, V
                                                      • lower-latin - маркер в виде списка латинским алфавитом маленькими буквами: a, b, c, d, ...
                                                      • upper-latin - маркер в виде списка латинским алфавитом большими буквами: A, B, C, D, ...
                                                      • lower-greek - маркер в виде списка греческим алфавитом маленькими буквами
                                                      • upper-greek - маркер в виде списка греческим алфавитом большими буквами
                                                      Примечание 2

                                                      Атрибут можно назначить как самому тегу

                                                        , так и тегам
                                                      • . При задании атрибута тегу
                                                          все элементы списка будут отображаться так, как на это указывает атрибут. Но мы можем задать тому или иному элементу своё отображение. Пример на рисунке:

                                                          Код при этом выглядит так:

                                                          • Элемент #1
                                                          • Элемент #2
                                                          • Элемент #3
                                                          • Элемент #1
                                                          • Элемент #2
                                                          • Элемент #3

                                                          Изменение маркеров тега
                                                            с помощью CSS

                                                          Элементы маркированного списка, создаваемые тегом

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

                                                            • Элемент #1
                                                            • Элемент #2
                                                            • Элемент #3

                                                            А так это выглядит на странице:

                                                            • Элемент #1
                                                            • Элемент #2
                                                            • Элемент #3

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

                                                              , он распространяется на все элементы списка.