В языке разметки html различают 3 вида списков - упорядоченные (нумерованные), неупорядоченные (ненумерованные) и списки определений (definition list).

Для построения такого списка нужны 2 вида элементов: ‘ul’ (сокращение от unordered list, т.е. неупорядоченный список) и ‘li’ (элемент списка). Все, что написано внутри ‘li’, помечается маркером.

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

Типы маркеров

Есть специальный атрибут type, который ставится в обоих элементах списка. Это тип вашего маркера. Всего 3 типа: окружность, диск и квадрат:

    - квадрат
      - диск
        - окружность

        В зависимости от того, где указать тип маркера, можно поменять его у всего списка или у конкретного элемента.

        Нумерованный список (ordered list)

        Для построения списка также нужно 2 элемента: ‘ol’ и ‘li’ (элемент списка). Маркеры заменяются на цифры с точкой. Пример простого списка:

        1. первый элемент
        2. второй элемент
        3. последний элемент

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

        Типы нумерации

        Есть специальный атрибут type, который ставится в элементе ‘ol’ или ‘li’. Это тип вашего списка. Всего 5 типов:

          - Нумерация арабскими цифрами (1, 2, 3)
            - Нумерация прописными буквами (A, B, C)
              - Нумерация строчными буквами (a, b, c)
                - Нумерация большими римскими цифрами (I, II, III)
                  - Нумерация малыми римскими цифрами (i, ii, iii)
                    - С какой цифры начать нумерацию

                    В зависимости от того, где указать тип нумерации, можно поменять ее у всего списка или у конкретного элемента.

                    Список определений (definition list)

                    Список определений был разработан для словарных статей.

                    Есть общий контейнер ‘dl’. Внутри него стоят ‘dt’ (definition termin - термин) и ‘dd’ (definition description - описание). Простейший пример:

                    Отдел маркетинга
                    Данный отдел занимается продвижением товаров и услуг
                    Финансовый отдел
                    Данный отдел занимается всеми финансовыми операциями

                    Все элементы всех списков - блочные. Но внутри элемента ‘dt’ можно ставить только строчные элементы. В элементы ‘dd’ и ‘li’ можно ставить все, что угодно. Отсюда появляются вложенные списки.

                    Вложенные (смешанные списки)

                    Это многоуровневые списки, внутри которых есть иерархия. Часто такие списки применяются при построении карты сайта. Пример:

                    Смешанный список
                    НОВОСТЬ ДНЯ
                  1. Сегодня идет дождь
                  2. Дождь будет идти весь день
                    НОВОСТЬ НОЧИ
                  3. Ночью будет идти дождь
                  4. Завтра начнется новый день
                  5. Списком называется взаимосвязанный набор отдельных фраз или предложений, которые начинаются с маркера или цифры. Списки предоставляют возможность упорядочить и систематизировать разные данные и представить их в наглядном и удобном для пользователя виде.

                      Тег

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

                          Устанавливает маркированный список, каждый элемент которого начинается с небольшого символа — маркера.

                        • Тег

                        • определяет отдельный элемент списка. Внешний тег
                            или
                              устанавливает тип списка — маркированный или нумерованный.

                              ,
                              ,

                              Тройка элементов предназначена для создания списка определений. Каждый такой список начинается с контейнера

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

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

                              Стандартом пятой версии html поддерживается 3 вида списков: нумерованные списки, маркированные списки и списки определений . Также предоставляется возможность вкладывать списки друг в друга, создавая вложенные многоуровневые списки .

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

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

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

                              Для создания нумерованных списков в HTML используется тег

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

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

                                1. Кофе
                                2. Чай
                                3. Молоко
                                Попробовать »

                                Примечание: тег

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

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

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

                                  Для создания маркированных списков в HTML применяется тег

                                    , внутри которого располагаются элементы самого списка (как и в случае с нумерованными списками используется тег
                                  • , который содержит в себе всё отображаемое содержимое списка):

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

                                    • Кофе
                                    • Чай
                                    • Молоко
                                    Попробовать »

                                    Виды маркеров

                                    Виды маркеров нумерованного списка можно изменить с помощью атрибута type . Данный атрибут поддерживает пять видов маркеров:

                                    Маркированные списки не имеют атрибута type , поэтому средствами HTML изменить вид маркера у маркированного списка не получится. Для изменения вида маркера, в этом случае, можно воспользоваться CSS свойством list-style-type , с помощью которого, помимо значения по умолчанию, можно выбрать ещё два вида маркера: circle или square .

                                    Изменение маркеров у списков:

                                    Заголовок страницы

                                    Нумерованный список c атрибутом type="a":

                                    1. Яблоки
                                    2. Бананы
                                    3. Лимоны

                                    Нумерованный список c атрибутом type="I":

                                    1. Яблоки
                                    2. Бананы
                                    3. Лимоны

                                    Виды маркеров маркированных списков:

                                    • Яблоки
                                    • Бананы
                                    • Лимоны
                                    • Яблоки
                                    • Бананы
                                    • Лимоны
                                    Попробовать »

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

                                    Горизонтальный список

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

                                    Чтобы создать горизонтальный список, надо для пунктов списка прописать CSS свойство display со значением inline или inline-block , в зависимости от того, какие ещё свойства вы собираетесь использовать.

                                    Заголовок страницы

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

                                    1. Яблоки
                                    2. Бананы
                                    3. Лимоны

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

                                    • Яблоки
                                    • Бананы
                                    • Лимоны
                                    Попробовать »

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

                                    Как горизонтальный список превратить в горизонтальное меню, вы можете посмотреть .

                                    Доброго времени суток!

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

                                    Данная статья — третья в данном небольшом курсе по основам HTML. Перед прочтением данного урока рекомендую пройти предыдущие два:

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

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

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

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

                                    А вот так выглядит в браузере:

                                    Рис. 1.1. Стандартный вид маркированного ненумерованного списка HTML в браузере

                                    1.1 Стандартные маркеры для маркированного списка

                                    На изображении выше (Рис 1.1.) можно заметить кружки в начале каждого элемента меню. Это и есть маркер. По умолчанию он в браузере в виде закрашенного круга. Всего есть несколько видов маркеров в HTML: закрашенный круг, пустой круг и квадрат. Они не требуют ни CSS ни подключения сторонних изображений:

                                    1.2 Маркер списка в виде пустого круга

                                    Значения атрибута вы знаете, а сейчас посмотрим как сделать маркированный список HTML в коде. Из таблицы выше мы выбрали второе значение "circle" для атрибута type и задали его нашему маркированному списку:

                                    <html > <head > <title > Пример маркированного списка с маркером в виде пустого круга</ title > </ head > <body > <p > Звезды:</ p > <ul type = "circle" > <li > Сириус</ li > <li > Арктур</ li > <li > Поллукс</ li > <li > Бетельгейзе</ li > <li > Солнце</ li > </ ul > </ body > </ html >

                                    Сразу смотрим как этот код будет выглядеть в браузере:

                                    Рис. 1.2. Вид маркера для списка в виде окружности в браузере

                                    1.3 Маркер списка в виде квадрата

                                    Посмотрим также и последний пример с квадратным маркером для HTML списка:

                                    Обратите внимание на маркер, он стал квадратным:

                                    Рис. 1.3. Вид маркера для списка в виде квадрата в браузере

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

                                    Код, который содержит данный атрибут, при указания типа текущего документа как HTML5 (""), выдаст ошибку при валидации. Если не слышали что такое валидация, то вам сюда — .

                                    Ошибка будет следующая:

                                    Рис. 1.4. Ошибка на валидаторе при использовании атрибута "type" у списка

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

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

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

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

                                    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <html > <head > <title > Пример стандартного нумерованного списка</ title > </ head > <body > <p > От одного до пяти:</ p > <ol > <li > Первый</ li > <li > Второй</ li > <li > Третий</ li > <li > Четвертый</ li > <li > Пятый</ li > </ ol > </ body > </ html >

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

                                    Рис. 2.1. Нумерованный список в браузере со стандартными настройками

                                    Как и у его предшественника (маркированного списка) у него есть свои стили для вывода цифр. Обычная нумерация — это не единственный вид маркеров у нумерованного списка в HTML.

                                    2.1 Стандартные маркеры для нумерованного списка

                                    Здесь у нас есть выбор не из трех видов маркеров, а из пяти:

                                    Название маркера Значение атрибута "type" Пример списка
                                    Маркеры в виде арабских чисел 1
                                    • Бадминтон
                                    • Бейсбол
                                    Маркеры в виде строчных латинских букв a
                                    • Джомолунгма
                                    • Чогори
                                    • Канченджанга
                                    Маркеры в виде заглавных латинских букв A
                                    • Summit Plummet
                                    • Tantrum Alley
                                    • Insano
                                    Маркеры в виде римских цифр в нижнем регистре i
                                    • Филиппинское море
                                    • Аравийское море
                                    • Коралловое море
                                    Маркеры в виде римских цифр в верхнем регистре I
                                    • Красный
                                    • Зеленый
                                    • Синий

                                    2.2 Своя нумерация в списке HTML

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

                                    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <html > <head > <title > Произвольная нумерация для нумерованного списка</ title > </ head > <body > <p > Начинаем нумерацию с двенадцати:</ p > <ol type = "a" start = "12" > <li > Двенадцать</ li > <li > Тринадцать</ li > <li > Четырнадцать</ li > <li > Пятнадцать</ li > <li > Шестнадцать</ li > </ ol > </ body > </ html >

                                    Вот как это будет отображаться на реальном сайте:

                                    Рис. 2.2. Нумерация с произвольного числа в нумерованном списке

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

                                    Ну а сейчас перейдем к вложенным спискам HTML.

                                    3. Как сделать многоуровневый (вложенный) список в HTML

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

                                    На примере моделей автомобилей мы построим многоуровневый список в HTML:

                                    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 <html > <head > <title > Вложенный маркированный список HTML</ title > </ head > <body > <ul > <li > Citroen <ul > <li > Berlingo</ li > <li > C1</ li > <li > C2</ li > <li > C3 Picasso</ li > <li > C4 Grand Picasso</ li > </ ul > </ li > <li > KIA</ li > <li > Toyota</ li > <li > Audi</ li > <li > Lexus</ li > </ ul > </ body > </ html >

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

                                    Рис. 3.1. Пример многоуровневого списка в HTML

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

                                      ). Многоуровневый список с моделями Citroen появился с другими маркерами. Основной список с закрашенными маркерами, а список на 2-м уровне — с пустыми кружками. Но, как помните, с помощью атрибута "type" мы можем переопределить маркеры (лучше задавать ).

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

                                      1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 <html > <head > <title > Нумерованные, маркированные и многоуровневые списки в HTML</ title > </ head > <body > <ul > <li > Первая группа тюльпанов <ol > <li > Первый класс <ul > <li > Простые ранние тюльпаны</ li > </ ul > </ li > <li > Второй класс <ul > <li > Махровые тюльпаны</ li > </ ul > </ li > </ ol > </ li > </ ul > </ body > </ html >

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

                                      Смотрим его вид в браузере:

                                      Рис. 3.2. Пример многоуровневого нумерованного списка в маркированный список в браузере

                                      4. Полезные материалы по спискам HTML

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

                                      4.1 Как сделать список HTML в строку

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

                                      4.2 Как сделать список HTML без значка

                                      За это отвечает свойство list-style-type в CSS (подробнее ):

                                      4.3 Как сделать список в HTML по центру

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

                                      4.4 Как сделать список в HTML с картинками

                                      Достаточно лишь одного свойства CSS list-style-image . Внутри url указать адрес до иконки. Хочу лишь заметить, что изображение лучше сразу подбирать маленькое, потому что от него зависит высота строки списка:

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

                                      В этом случае необходимо заранее подключить шрифтовые иконки (например, FontAwesome ). Тогда можно сделать любую иконку вместо стандартного маркера:

                                      4.6 Как сделать список в HTML в несколько столбцов

                                      Чтобы сделать список в несколько столбцов мы воспользуемся свойством CSS column-count (свойство поддерживается только в следующих браузерах: IE 10+, Chrome 1.0+, Opera 11.1+, Safari 3.0+, Firefox 1.5+). Также необходимо задать высоту для списка, чтобы увидеть разбиение на несколько столбцов:

                                      5. Практика работы со списками

                                      На видео ниже вы можете увидеть всю работу со списками HTML на практике:

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

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

                                      Больше практикуйтесь!

                                      Урок 3. Как сделать список в HTML 4.91 /5 (98.26%) 23 голос(ов)

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

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

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

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

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

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

                                        По умолчанию, большинство браузеров добавляет вертикальный margin и левый padding к элементу

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

                                          • Оранжевый
                                          • Зелёный
                                          • Синий

                                          Демонстрация маркированного списка

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

                                          Нумерованный или упорядоченный список элементов

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

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

                                            1. Пройдите по Абрикосовой улице
                                            2. Сверните на Виноградную

                                            Демонстрация нумерованного списка

                                            У нумерованных списков также есть доступные для них уникальные атрибуты, включая start и reversed.

                                            Атрибут start

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

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

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

                                              1. Пройдите по Абрикосовой улице
                                              2. Сверните на Виноградную
                                              3. Остановитесь на Тенистой улице

                                              Демонстрация атрибута start

                                              Атрибут reversed

                                              Атрибут reversed при добавлении к элементу

                                                позволяет списку отображаться в обратном порядке. Список из пяти пунктов пронумерованных от 1 до 5 может быть задан обратно и нумероваться от 5 до 1.

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

                                                  .

                                                  1. Пройдите по Абрикосовой улице
                                                  2. Сверните на Виноградную
                                                  3. Остановитесь на Тенистой улице

                                                  Демонстрация атрибута reversed

                                                  Атрибут value

                                                  Атрибут value может применяться к отдельным элементам

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

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

                                                  1. Пройдите по Абрикосовой улице
                                                  2. Сверните на Виноградную
                                                  3. Остановитесь на Тенистой улице

                                                  Демонстрация атрибута value

                                                  Списки описания

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

                                                  Создание списка описания в HTML происходит с помощью блочного элемента

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

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

                                                  При добавлении списка описания элемент

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

                                                  По умолчанию, элемент

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

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

                                                      Демонстрация списка описания

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

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

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

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

                                                              Тем не менее, внутри элемента

                                                            2. может быть добавлен стандартный набор элементов, включая любые элементы
                                                                или
                                                                  .

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

                                                                  1. Погулять с собакой
                                                                  2. Сложить бельё
                                                                  3. Сходить в магазин и купить:
                                                                    • Молоко
                                                                    • Хлеб
                                                                    • Сыр
                                                                  4. Подстричь газон
                                                                  5. Приготовить ужин

                                                                  Демонстрация вложенных списков

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

                                                                    и
                                                                      могут содержать только элементы
                                                                    1. . Элемент
                                                                    2. может содержать любой обычный элемент, какой пожелаете. Однако элемент
                                                                    3. должен быть прямым потомком либо элемента
                                                                        , либо
                                                                          .

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

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

                                                                          Стилизация пунктов списка

                                                                          Маркированные и нумерованные списки используют маркеры пунктов списка по умолчанию. Для маркированных списков это, как правило, однотонные точки, в то время как для нумерованных списков, как правило, применяются числа. С помощью CSS стиль и положение этих маркеров можно настраивать.

                                                                          Свойство list-style-type

                                                                          Свойство list-style-type используется для установки содержимого маркера пунктов списка. Доступные значения находятся в диапазоне от квадратиков и десятичных чисел до армянской нумерации и стиль в CSS может быть добавлен к элементам

                                                                            ,
                                                                              или
                                                                            1. .

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

                                                                              • Оранжевый
                                                                              • Зелёный
                                                                              • Синий

                                                                              Ul { list-style-type: square; }

                                                                              Демонстрация свойства list-style-type

                                                                              Значения list-style-type

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

                                                                              Использование изображения в качестве маркера списка

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

                                                                            2. .

                                                                              Процесс включает в себя удаление любого значения свойства list-style-type по умолчанию и добавление фонового изображения и полей для элемента

                                                                            3. .

                                                                              Подробнее - значение none свойства list-style-type удалит существующие маркеры списка. Свойство background задаст фоновое изображение вместе с его положением и повтором, если необходимо. А свойство padding обеспечит пространство слева от текста для фоновой картинки.

                                                                              • Оранжевый
                                                                              • Зелёный
                                                                              • Синий

                                                                              Li { background: url("arrow.png") 0 50% no-repeat; list-style-type: none; padding-left: 12px; }

                                                                              Демонстрация изображения в качестве маркера

                                                                              Свойство list-style-position

                                                                              По умолчанию маркеры списка располагаются слева от содержимого в элементе

                                                                            4. . Такой стиль позиционирования описывается как outside , это означает, что всё содержимое будет отображаться непосредственно справа, за пределами маркера списка. С помощью свойства list-style-position мы можем изменить значение по умолчанию outside на inside или inherit .

                                                                              Значение outside размещает маркер списка слева от элемента

                                                                            5. и не позволяют любому содержимому обтекать ниже этот маркер. Значение inside (которое редко используется и можно увидеть) размещает маркер списка в первой строке элемента
                                                                            6. и позволяет содержимому обтекать маркер при необходимости.

                                                                              • Капкейки...
                                                                              • Обсыпка...

                                                                              Ul { list-style-position: inside; }

                                                                              Демонстрация свойства list-style-position

                                                                              Универсальное свойство list-style

                                                                              Свойства списка, которые мы недавно обсудили, list-style-type и list-style-position , могут быть объединены в одно универсальное свойство list-style . В этом свойстве мы можем использовать одно или все значения свойств списка одновременно. Порядок этих значений должен быть: list-style-type , затем идёт list-style-position .

                                                                              Ul { list-style: circle inside; } ol { list-style: lower-roman; }

                                                                              Горизонтальное отображение списка

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

                                                                            7. как inline или inline-block или через свойство float .

                                                                              Отображение списка

                                                                              Самый быстрый способ отобразить список на одной строке - это задать элементам

                                                                            8. свойство display со значением inline или inline-block . Это поставит все элементы
                                                                            9. в одну строку с одинаковым промежутком между каждым пунктом списка.

                                                                              Если промежутки между элементами

                                                                            10. доставляют проблемы, то они могут быть удалены с помощью тех же методов, что мы обсуждали в уроке 5, «Позиционирование содержимого».

                                                                              Намного чаще мы будем использовать значение inline-block вместо значения inline . Значение inline-block позволяет легко добавлять вертикальные отступы и другое пространство к элементам

                                                                            11. , в то время как значение inline нет.

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

                                                                              • Оранжевый
                                                                              • Зелёный
                                                                              • Синий

                                                                              Li { display: inline-block; margin: 0 10px; }

                                                                              Демонстрация списка с inline-block

                                                                              Списки с float

                                                                              Изменение значение свойства display на inline или inline-block быстро, однако это удаляет маркеры списка. Если они необходимы, то добавление float к каждому элементу

                                                                            12. является лучшим вариантом, чем изменение свойства display .

                                                                              Установка для всех элементов

                                                                            13. свойства float как left выровняет горизонтально все элементы
                                                                            14. непосредственно рядом друг с другом без каких-либо промежутков между ними. Когда мы используем float для
                                                                            15. , маркер списка отображается по умолчанию и будет располагаться поверх элемента
                                                                            16. рядом с ним. Чтобы предотвратить отображение маркера списка поверх других элементов
                                                                            17. , должны быть добавлены горизонтальный margin или padding .

                                                                              • Оранжевый
                                                                              • Зелёный
                                                                              • Синий

                                                                              Li { float: left; margin: 0 20px; }

                                                                              Демонстрация списка с float

                                                                              Как и с любыми обтекаемыми элементами это нарушает поток страницы. Мы не должны забывать очищать float и возвращать страницу в обычный поток - наиболее распространённым методом через clearfix.

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

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

                                                                            18. отображаются как inline-block .

                                                                              Navigation ul { font: bold 11px "Helvetica Neue", Helvetica, Arial, sans-serif; margin: 0; padding: 0; text-transform: uppercase; } .navigation li { display: inline-block; } .navigation a { background: #395870; background: linear-gradient(#49708f, #293f50); border-right: 1px solid rgba(0, 0, 0, .3); color: #fff; padding: 12px 20px; text-decoration: none; } .navigation a:hover { background: #314b60; box-shadow: inset 0 0 10px 1px rgba(0, 0, 0, .3); } .navigation li:first-child a { border-radius: 4px 0 0 4px; } .navigation li:last-child a { border-right: 0; border-radius: 0 4px 4px 0; }

                                                                              Демонстрация навигационного списка

                                                                              На практике

                                                                              Теперь, когда мы знаем, как создавать списки в HTML и CSS, давайте оглянемся на наш сайт Styles Conference и посмотрим, где мы могли бы использовать списки.

                                                                                Сейчас навигационные меню в элементах

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

                                                                                Использование неупорядоченного списка (через элемент

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

                                                                                  Мы собираемся изменить значение display для наших элементов

                                                                                • на inline-block , чтобы все они выравнивались в строке по горизонтали. Когда мы это сделаем, то также должны учесть пустое пространство слева между каждым элементом
                                                                                • . Вспоминая урок 5, «Позиционирование содержимого», мы знаем что открытие комментария HTML в конце элемента
                                                                                • и закрытие комментария в начале элемента
                                                                                • удалит это пространство.

                                                                                  Помня об этом, разметка для навигационного меню внутри нашего элемента

                                                                                  будет выглядеть так:

                                                                                  В том же духе, разметка для навигационного меню внутри нашего элемента

                                                                                  будет выглядеть так:

                                                                                  Не забывайте внести эти изменения во все наши HTML-файлы.

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

                                                                                  Начнём с того, чтобы все элементы

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

                                                                                  Кроме того, мы воспользуемся псевдоклассом :last-child чтобы определить последний элемент

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

                                                                                  В наш файл main.css, ниже стилей навигации добавим следующий CSS:

                                                                                  Nav li { display: inline-block; margin: 0 10px; vertical-align: top; } .nav li:last-child { margin-right: 0; }

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

                                                                                    ,
                                                                                      и
                                                                                    • включают в себя нулевые margin и padding , а для
                                                                                        и
                                                                                          значение list-style задано как none .

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

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

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

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

                                                                                          Внутри grid каждый спикер будет размечен с собственным элементом

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

                                                                                      Наше меню навигации в настоящее время завершено и страница Спикеры начала принимать свою форму.

                                                                                      Рис. 8.01. Наша страница Спикеры после обновления навигационных меню и добавления колонки

                                                                                      Демонстрация и исходный код

                                                                                      Ниже вы можете просмотреть сайт Styles Conference в его нынешнем состоянии, а также скачать исходный код сайта на данный момент.

                                                                                      Резюме

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

                                                                                      Подводя итоги, в этом уроке мы рассмотрели следующее:

                                                                                      • как создать маркированный, нумерованный список и список описаний;
                                                                                      • Редакторы: Влад Мержевич