Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задания и решения примеров htmlacademy.docx
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
13 Мб
Скачать
☆

Усложненное оформление пунктов [18/28]

Теперь давайте усложним оформление. Сделаем пункты более объемными и добавим разделители по аналогии с вертикальным меню.

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

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

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

Что повторить:

  1. display: inline-block

Завершаем оформление пунктов [19/28]

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

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

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

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

Чтобы пробелы после блочно-строчных элементов были видны, мы добавили для ссылок серый фон.

menu-19.html

Испытание: горизонтальное меню [20/28]

Оформите горизонтальное меню. HTML-код уже готов и его изменить невозможно.

В испытании используются следующие цвета:

  1. #ffffff

  2. #2980b9 синий

  3. #2c3e50 темно-синий

  4. #1abc9c зеленый

Подсказки: все размеры и отступы кратны 5. Толщина рамок у пунктов меню 2px. Для борьбы с пробелами после инлайн-блоков используется приём с отрицательным маргином.

menu-20.html

Вертикальное меню с выпадающим подменю[21/28]

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

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

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

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

Что повторить:

  1. Относительное позиционирование

  2. Абсолютное позиционирование

Задание

  1. Задайте элементам списка верхнего уровня относительное позиционирование.

  2. Задайте выпадающему подменю абсолютное позиционирование.

menu-21.html

Позиционируем выпадающее подменю [22/28]

Затем выпадающее подменю располагают в том месте, куда оно будет «выпадать». Лучше располагать так, чтобы оно немного «нависало» над родительским пунктом.

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

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

Что повторить:

  1. Точка отсчета координат

  2. Тренируемся задавать координаты

  3. z-index или кто кого перекроет

menu-22.html