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

  • 24.11.2022

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

И так, существуют теги "" - они определяют маркированный список.
Теги "" – определяют пункты, то есть элементы маркированного списка.

Для начала создадим простой список из нескольких пунктов:

<html > <head > <title > Простой маркированный список HTMLtitle > head > <body > <ul > <li > Oneli > <li > Twoli > <li > Threeli > <li > Fourli > ul > body > html >
  • Three

Для маркировок html можно задать некоторые типы, которые прописываются внутри
первого тега "

    " в type=" "

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

    <html > <head > <title > Маркированный список HTML title > head > <body > <ul type="circle" > <li > Одинli > <li > Дваli > <li > Триli > <li > Четыреli > ul > body > html >
    • Четыре

    Теперь вместо типа "circle" зададим тип "square " (квадратики)

    <html > <head > <title > Маркированный список HTML title > head > <body > <ul type="square" > <li > einli > <li > zweili > <li > dreili > <li > vierli > ul > body > html >

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


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

    Списки можно не только маркировать, но и нумеровать, так как иногда это бывает необходимо. Это могут быть цифры (1, 2, 3 …) И буквы английского алфавита в нижнем и верхнем регистре. Рассмотри всё выше описанное.

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

    Нумерация числами (от одного)

    <html > <head > <title > Нумерованный список htmltitle > head > <body > <ol > <li > Разli > <li > Дваli > <li > Триli > <li > Четыреli > ol > body > html >
    1. Четыре

    Если вам нужно чтобы нумерация начиналась с нуля (ноля) или с тройки, например, то нужно в первом теги написать start=" " и нужное число.

    <html > <head > <title > Нумерованный список htmltitle > head > <body > <ol start="0" > <li > нольli > <li > одинli > <li > дваli > <li > триli > ol > body > html >

    Теперь рассмотрим, как задать "буквенную нумерацию".

    В нижнем регистре:

    <html > <head > <title > Нумерованные списки htmltitle > head > <body > <ol type="a" > <li > Меркурийli > <li > Венераli > <li > Земляli > <li > Марсli > ol > body > html >
    1. Меркурий
    2. Венера
    3. Земля

    В верхнем регистре:

    <html > <head > <title > Нумерованные HTML спискиtitle > head > <body > <ol type="A" > <li > Юпитерli > <li > Сатурнli > <li > Уранli > <li > Нептунli > <li > <b > Плутонb > li > ol > body > html >
    1. Юпитер
    2. Сатурн
    3. Нептун
    4. Плутон

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

  • название " вставить ещё один список и после этого закрыть его вторым тегом "
  • "

    <html > <head > <title > Многоуровневый список html title > head > <body > <ul type="square" > <li > Скрипкаli > <li > Гитара <ul > <li > классическаяli > <li > ритмгитараli > <li > электрогитараli > ul > li > <li > Барабаныli > <li > Дудочкаli > ul > body > html >
    • Скрипка
    • Гитара
      • классическая
      • ритмгитара
      • электрогитара
    • Барабаны
    • Дудочка

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

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

    С элементом

      связаны следующие особенности:

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

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

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

        Вид маркера

        Маркеры могут принимать один из трёх видов: закрашенный кружок (по умолчанию), незакрашенный кружок и квадрат. Для выбора типа маркера используется свойство list-style-type или универсальное list-style (пример 1). Применяются следующие значения:

        • disc - маркеры в виде закрашенного кружка;
        • circle - маркеры в виде незакрашенного кружка;
        • square - квадратные маркеры.

        Пример 1. Изменение вида маркера

        Списки

        • Сепульки
        • Сепулькарии
        • Сепуление

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

      • не получится, поэтому придётся действовать в обход. Для этого прячем маркеры списка с помощью свойства list-style со значением none и в тексте перед содержимым
      • добавляем свой собственный символ с помощью псевдоэлемента ::before . В примере 2 в качестве такого маркера выступает треугольник.

        Пример 2. Использование::before

        Списки

        • Сепульки
        • Сепулькарии
        • Сепуление

        Результат данного примера показан на рис. 2. Поскольку использование свойства list-style со значением none не убирает маркеры совсем, а только скрывает их от просмотра, то список получается смещённым вправо. Чтобы избавиться от этой особенности, в примере добавляется свойство text-indent с отрицательным значением. Его задача - переместить текст левее на один символ.

        Рис. 2. Произвольные маркеры в списке

        Символ не обязательно должен быть в шестнадцатеричном формате, его можно вставить и непосредственно в текст. Главное, сохранить документ в кодировке UTF-8 и чтобы редактор её поддерживал. Сами символы и их коды можно взять, например, из LibreOffice Writer (рис. 3).

        Рис. 3. Выбор символа в LibreOffice

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

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

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

        Списки

        • Сепульки
        • Сепулькарии
        • Сепуление

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

        Рис. 4. Рисунок в качестве маркера

        Применение list-style-image обладает некоторыми недостатками:

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

        Этих недочётов можно избежать с помощью свойства background , оно устанавливает фоновое изображение. Для каждого элемента списка

      • мы убираем исходные маркеры и устанавливаем фоновую картинку без повторения. А чтобы текст не выводился поверх рисунка, смещаем его вправо через padding-left (пример 4).

        Пример 4. Использование background

        Ul { margin-left: -1em; } li { list-style: none; background: url(images/bullet.png) no-repeat 0 2px; padding-left: 20px; }

        Положение текста и маркера

        Существует два способа размещения маркера относительно текста: маркер выносится за границу элементов списка или обтекается текстом (рис. 5).



        inside outside

        Рис. 5. Размещение маркеров относительно текста

        Чтобы управлять положением маркеров, применяется свойство list-style-position . Оно имеет два значения: outside - маркеры размещаются за пределами текстового блока (это значение по умолчанию) и inside - маркеры являются частью текстового блока и отображаются в элементе списка (пример 5).

        Пример 5. Изменение положения маркеров

        Списки

        • Перед началом работы проверьте наличие оборудования, входящего в комплект 3BM.
        • При отсутствии одного или нескольких периферийных устройств следует сразу же обратиться к техническому персоналу ВЦ.
        • После осмотра визуальными методами своего рабочего места можно осторожно включить питание 3BM.

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

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

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

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

          Теги
            и

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


          .

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

        • (LI - List Item, элемент списка). Тег
        • не нуждается в соответствующем закрывающем теге, хотя его наличие в принципе не возбраняется. Браузеры обычно при отображении документа начинают каждый новый элемент списка с новой строчки.

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

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

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

          • Овен

          • Телец

          • Близнецы

          • Дева

          • Весы

          • Скорпион

          • Стрелец

          • К озерог

          • Водолей

          • Рыбы

          Рис. 2.1. Отображение браузером маркированного списка

          Заметим, что кроме элементов списка, отмечаемых тегом

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

          Примечание

          В некоторых учебниках по языку HTML встречается указание, что для задания заголовка списка следует применять тег-контейнер (LH - List Header, заголовок списка). В настоящее время этот тег не распознается ни одним из распространенных браузеров и не входит в спецификацию HTML. Таким образом, его применение становится бессмысленным, хотя и не приведет к каким-либо ошибкам.

          В теге

            могут быть указаны два параметра: COMPACT и TYPE.

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

            Примечание

            В настоящее время наличие параметра COMPACT в теге

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

              Параметр TYPE может принимать следующие значения: disc, circle и square. Этот параметр используется для принудительного задания вида маркеров списка. Конкретный вид маркера будет зависеть от используемого браузера. Типичными вариантами отображения являются следующие:

              TYPE = disc - маркеры отображаются закрашенными кружками; TYPE = circle - маркеры отображаются не закрашенными кружками; TYPE = square - маркеры отображаются закрашенными квадратиками. Пример записи:

                .

                Значением, используемым по умолчанию, является TYPE = disc. Для вложенных маркированных списков на первом уровне по умолчанию используется значение disc, на втором - circle, на третьем и далее - square. Именно так делается в последних версиях браузеров Netscape и Internet Explorer. Заметим, что иные браузеры могут иначе отображать маркеры. Например, в спецификации HTML 4.0 для вида маркера, отображаемого при значении TYPE = square, указывается незакрашенный квадратик (square outline).

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

              • .

                Пример записи:

              • .

                Примечание

                Браузеры по-разному интерпретируют указание вида маркера для отдельного элемента списка. Браузер Netscape изменяет вид маркера для данного и всех последующих, пока не встретится очередное переопределение вида маркера. Браузер Internet Explorer изменяет вид маркера только для данного элемента.

                Графические маркеры списка

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

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

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

                  Если же нам требуется построить список с графическими маркерами, то можно вообще обойтись без тегов

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

                  Или принудительного перевода строки
                  . Пример реализации списка с графическими маркерами, отображение которого представлено на рис. 2.2, показан ниже:

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

                  Примечание

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

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

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

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

                    Теги
                      и

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

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

                  1. .

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

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


                              . . .

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

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

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

                              • арабские цифры (1, 2, 3, ...);
                              • арабские цифры c нулём впереди для цифр меньше десяти (01, 02, 03, ...,10);
                              • прописные латинские буквы (А, В, С, ...);
                              • строчные латинские буквы (а, b, с, ...);
                              • римские цифры в верхнем регистре (I, II, III, ...);
                              • римские цифры в нижнем регистре (i, ii, iii, ...);
                              • армянская нумерация;
                              • грузинская нумерация.

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

                              Нумерация списка

                              Допускается начинать список с любого номера; для этой цели применяется атрибут start элемента

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

                                Пример 1. Изменение нумерации списка

                                Списки

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

                                Первый элемент списка в данном примере будет начинаться с римской цифры IV, поскольку указан атрибут start="4" , затем идет номер V, а последний элемент следует не по порядку и назначается номером X (рис. 1).

                                Рис. 1. Римские цифры в списке

                                Написание чисел

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

                                Рис. 2. Вид нумерованного списка со скобкой

                                Стили позволяют поменять вид нумерации списков с помощью свойств content и counter-increment . Вначале для селектора ol требуется задать counter-reset : item , это нужно для того, чтобы нумерация в каждом новом списке начиналась заново. В противном случае, нумерация будет продолжена и вместо 1,2,3 можно будет увидеть 5,6,7. Значение item это уникальный идентификатор счётчика, мы его выбираем сами. Далее необходимо спрятать исходные маркеры через стилевое свойство list-style-type со значением none .

                                Свойство content, как правило, работает в сочетании с псевдоэлементами ::after и ::before . Так, конструкция li::before говорит о том, что перед каждым элементом списка необходимо добавить какое-то содержание (пример 2).

                                Пример 2. Создание своей нумерации

                                Li::before { content: counter(item) ") "; /* Добавляем к числам скобку */ counter-increment: item; /* Задаём имя счетчика */ }

                                Свойство content со значением counter(item) выводит число; добавляя скобку, как показано в данном примере, получим требуемый вид нумерации. counter-increment необходим для увеличения номера списка на единицу. Обратите внимание, что везде используется один и тот же идентификатор с именем item . Окончательный код показан в примере 3.

                                Пример 3. Изменение вида списка

                                Списки

                                1. Первый
                                2. Второй
                                3. Третий
                                4. Четвертый

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

                                Content: "[" counter(item) "] ";

                                Список с русскими буквами

                                Нумерованный список есть с латинскими буквами, а вот русских букв для списка нет. Их можно добавить искусственно, воспользовавшись вышеприведённым приёмом. Поскольку нумерация делается через стили, сам список остаётся исходным, к нему лишь добавляется выбранный класс, назовём его cyrilic (пример 4).

                                Пример 4. Код для создания списка

                                1. Один
                                2. Два
                                3. Три

                                Добавление букв осуществляется с помощью псевдоэлемента ::before и свойства content . Поскольку в каждой строке должна быть своя буква, воспользуемся псевдоклассом :nth-child(1) , в скобках пишется номер буквы. Первой буквой, естественно, идёт А, второй - Б, третьей - В и т. д. Весь этот набор добавляется к селектору li следующим образом (пример 5).

                                Пример 5. Применение псевдокласса:nth-child

                                Cyrilic li:nth-child(1)::before { content: "а)"; } .cyrilic li:nth-child(2)::before { content: "б)"; } .cyrilic li:nth-child(3)::before { content: "в)"; }

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

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

                                Пример 6. Список с русскими буквами

                                Список

                                1. Борщ
                                2. Котлеты из щуки
                                3. Кулебяка
                                4. Грибы в сметане
                                5. Блины с икрой
                                6. Квас

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