Сайт о телевидении

Сайт о телевидении

» » Большой обзор красивых многоуровневых меню с codepen. Как сделать адаптивное меню? Примеры

Большой обзор красивых многоуровневых меню с codepen. Как сделать адаптивное меню? Примеры

Похожие статьи на эту тему:

Добавляем HTML

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23

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

1 <a href = "#0" class = "cd-nav-trigger" > Menu<span >

Последняя строка отвечает за навигацию при маленьком разрешении экрана.

Добавляем CSS

Архив с примером содержит файл style.css .
В нем в разделе «Стили для меню» находятся все стили оформления меню в том числе и медиазапросы.
Вы можете скачать весь файл, или добавить стили только для самого меню. Если вы, скачали в свой проект весь style.css , то не забудьте подключить его в свой html файл между тегами .

1 <link rel = "stylesheet" href = "css/style.css" >

Добавляем JQuery

Из архива копируем папку js. И подключаем скрипты в наш html документ.

1 2 3 <script src = "js/modernizr.js" > <script src = "js/jquery-2.1.1.js" > <script src = "js/main.js" >

Если в вашем проекте уже есть modernizr.js и jquery-2.1.1.js, то второй раз подключать их не нужно. Меню готово!

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

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

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

HTML разметка

Задача понятная, внутри тега section будет находится шапка сайта header , внутри которой блок div с логотипом и навигационная панель nav . Она будет использоваться, как контейнер для меню из маркированных списков ul с пунктами меню-ссылками a .







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

Этим мы с вами сейчас и займемся.

Стилизация секции - section

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

Section {
background: url(bg.jpg);
}

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

Background-size: cover;
height: 100vh;

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

Background-repeat: no-repeat;

На мобильных телефонах, без выравнивания фона по центру, он может срезаться.

Background-position: center center;

Секция подготовлена, в ней мы пропишем стили для шапки.

Стилизация шапки сайта - header

Немного забежим вперёд и посмотрим из каких блоков будет состоять шапка - это блок div с логотипом и блок навигации nav .

Как поставить два блока в ряд, ведь в естественном виде блоки стоят друг под другом? Flexbox метод отлично справляется с этой задачей - ставит в ряд и выравнивает относительно контейнера header так, как нам надо.

Header {
display: flex;
justify-content: space-between;
align-items: center;
}

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

Height: 18%;
box-shadow: 0 5px 15px rgba(0,0,0,.2);

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

Работа с логотипом

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

Logo img {
margin-left: 2.3em;
}

Следующий код делает логотип адаптивным.

Max-width: 100%;

Стилизация меню - ul

Убираем маркеры у пунктов меню.

Ul {
list-style-type: none;
}

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

Ul {
display: flex;
flex-flow: nowrap;
flex-direction: row;
justify-content: center;
align-items: center;
transition: .5s;
}

Пункты меню li стоят очень плотно друг к другу и надо поработать со шрифтом и ссылками.

Зададим поля вокруг пунктов меню.

Ul li a {
padding: 10px 20px;
}

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

Text-transform: uppercase;
text-decoration: none;

Выбираем шрифт потемнее для контраста и делаем его жирным (меня бесит, когда цвет текста сливается с фоновым цветом сайта).

Color: #262625;
font-weight: bold;

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

Ul li a:hover {
background: #000;
color: #fff;
transition: .5s
}

На следующем уроке мы сделаем наше меню адаптивным , делая медиа-запросы. Смотрите весь код на jsfiddle .

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

Меню для большого экрана

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

Меню на два пункта в HTML

К получившемуся меню необходимо будет добавить стили CSS. В них следует указать размер и цвет шрифта, фон, позиционирование блоков.

Процесс адаптации

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

Далее необходимо будет добавить к этим тэгам соответствующие стили, чтобы получилось визуально привлекательное и читабельное меню. Помимо визуального оформления навигации и иконки меню, нужно оформить соответствующим образом позицию изображения. Так, вводится условие menu_icon span:nth-child(1) {top:0 px};. То есть отступ изображения сверху составит ноль пикселей. Подобным образом необходимо задать значения и для других сторон.

Теперь адаптивное меню почти готово. Стоит обратить внимание на условие По умолчанию иконка меню не будет видна на сайте, поэтому в CSS-документ необходимо добавить дополнительный класс с таким условием: .menu__icon {display: inline-block;}. Это сделает навигацию видимой.

К тому же необходимо добавить в каскадную таблицу стилей задачу, что будет скрывать пункты и подпункты по мере необходимости. Для этого в CSS нужно задать фиксированную позицию меню, оформить дисплей и выравнивание. Пункты скрывают при помощи условий overflow:auto; opacity:0; z-index:1000. Также можно добавить класс menu__links-item, что укажет стиль для пунктов меню, но это уже по желанию разработчика.

Последний штрих

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

  • (function($){$(function() $(".menu__icon").on("click", function() $(this).closest(".menu").toggleClass("menu_state_open");});});})(jQuery).

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

Не изменяя стандартам

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

  1. Написание HTML-тэгов
  2. Их стилизация при помощи каскадной таблицы стилей (CSS).
  3. Адаптация уже существующего меню.

Естественно, на всех сайтах есть свои строки меню, но если ресурс создан на CMS, то намного проще будет создать новое адаптивное меню.

Bootstrap

Создание адаптивного функционала не является такой серьезной проблемой, если воспользоваться инструментами Bootstrap. Здесь уже заранее заложены шаблоны для создания горизонтального меню. Нужно лишь подключиться к ресурсу файл bootstrap.js. С помощью этого фреймворка веб-мастер получает возможность создавать навигацию любой сложности. Адаптивное меню с Bootstrap создается при помощи определенного кода.

Особенности метода

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

Немаловажную роль в создании адаптивного функционала здесь играют классы collapse и navbar-collapse , которые отвечают за стиль. Само меню создается путем записывания пунктов, что размещены горизонтально.

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

Выпадающее меню

Ресурс Bootstrap станет отличным помощником для создания адаптивного выпадающего меню. Для этого достаточно просто заменить строку тега

  • из предыдущего примера на код, который указан ниже.

    Выпадающие пункты

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

    Многоуровневое меню

    Однако создавать можно не только при помощи Bootstrap. Если эта библиотека не подключена, можно создать адаптивное многоуровневое меню при помощи HTML и CSS с последующим подключением функции РНР.

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

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

      Анимация адаптивного выпадающего меню задается при помощи каскадной таблицы стилей. Здесь нужно указать параметры для меню при уменьшении экрана на 50, 75 и 25 %. Такой подход к созданию адаптивного функционала обеспечивает грамотную верстку, при которой меню не «съезжает».

      И в завершение необходимо вписать в документ функцию, указанную ниже.

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

      JQuery

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

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

      После этого необходимо сверстать навигацию, если ее еще нет. Здесь все действует по принципу: «Все гениальное просто». В HTML-документе необходимо создать маркированный список в теге nav . Можно воспользоваться уже приведенным ранее примером или его упрощенной версией, которая выглядит так, как показано ниже.

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

      var navigation = $("#nav-main").okayNav();

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

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

      Joomla

      И последний вариант создания адаптивного меню с помощью системы «Джумла». Это бесплатный сервис для создания веб-сайтов, который представляет собой систему управления содержимым CMS. И как уже было упомянуто в самом начале, если сайт создан при помощи CMS, и нужно изменить имеющееся меню на адаптивное, то лучше всего начать делать функционал сайта с самого первого тега. Точно так же, как и в предыдущих примерах, необходимо создать маркированный список меню в HTML. Только для каждого пункта необходимо написать свой класс. В общей сложности все выглядит так, как показано ниже.

      Дальше необходимо добавить стили. Лучше всего поставить все отступы на 0 рх и применить box-sizing: border-box. Это даст возможность сохранять заданную ширину элементов вне зависимости от того, сколько будет отступов. Далее, для родительского элемента меню (div) стоит задать ширину 90 % и уже после начинать стилизовать каждый пункт по отдельности.

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

      Функция кроссбраузерности

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

      Хабр, привет!

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

      Раньше я их выкладывал в группе продукта облачной IDE mr. Gefest , это были сборки из 5-8 решений. Но теперь у меня стало скапливаться по 15-30 скриптов в разных тематиках (кнопки, меню, подсказки и так далее).

      Такие большие наборы следует показывать большему числу специалистов. Поэтому выкладываю их на Хабр. Надеюсь они будут Вам полезны.

      В этом обзоре мы рассмотрим многоуровневые меню.

      Flat Horizontal Navigation

      Красивая навигационная панель с плавно появляющимся подменю. Код хорошо структурирован, используется js. Судя по использованным возможностям, работает в ie8+.
      http://codepen.io/andytran/pen/kmAEy

      Material Nav Header w/ Aligned Dropdowns

      Адаптивная панель ссылок с двухколонным подменю. Все сделано на css и html. Применены css3 селекторы, которые не поддерживаются в ie8.
      http://codepen.io/colewaldrip/pen/KpRwgQ

      Smooth Accordion Dropdown Menu

      Стильное вертикальное меню с плавно раскрывающимися элементами. Используется transition, transform js-код.
      http://codepen.io/fainder/pen/AydHJ

      Pure CSS Dark Inline Navigation Menu

      Темная вертикальная навигационная панель с иконками из ionicons. Применяется javascript. В ie8 скорее всего будет работать без анимации.
      http://codepen.io/3lv3n_snip3r/pen/XbddOO

      Pure CSS3 Mega Dropdown Menu With Animation

      Стильное меню с двумя форматами вывода: горизонтальным и вертикальным. Используются иконки и css3-анимация. В ie8 точно будет ужасно выглядеть, но зато в других браузерах все круто.
      Ссылка на вертикальную: http://codepen.io/rizky_k_r/full/sqcAn/
      Ссылка на горизонтальную: http://codepen.io/rizky_k_r/pen/xFjqs

      CSS3 Dropdown Menu

      Горизонтальное меню с большими элементами и выпадающим списком ссылок. Чистый и минималистичный код без js.
      http://codepen.io/ojbravo/pen/tIacg

      Simple Pure CSS Dropdown Menu

      Простое, но стильное горизонтальное меню. Используется font-awesome. Все работает на css и html, без js. В ie8 будет работать.
      http://codepen.io/Responsive/pen/raNrEW

      Bootstrap 3 mega-dropdown menu

      Отличное решение для интернет-магазинов. Отображает несколько уровней категорий и большие изображения (например, товар по акции). В его основе лежит boostrap 3.
      http://codepen.io/organizedchaos/full/rwlhd/

      Flat Navigation

      Стильная навигационная панель с плавным подменю. В старых браузерах отобразится с проблемами.
      http://codepen.io/andytran/pen/YPvQQN

      3D nested navigation

      Горизонтальное меню с очень крутой анимацией без js!
      http://codepen.io/devilishalchemist/pen/wBGVor

      Responsive Mega Menu - Navigation

      Горизонтальное адаптивное меню. Выглядит неплохо, но мобильная версия немного "хромает". Используется css, html и js.
      http://codepen.io/samiralley/pen/xvFdc

      Pure Css3 Menu

      Оригинальное меню. С простым и чистым кодом без js. Применяйте для "вау" эффектов.
      http://codepen.io/Sonick/pen/xJagi

      Full CSS3 Dropdown Menu

      Красочное выпадающее меню с одним уровнем вложенности. Используются иконки из font-awesome, html и css.
      http://codepen.io/daniesy/pen/pfxFi

      Css3 only dropdown menu

      Достаточно неплохое горизонтальное меню с тремя уровнями вложенности. Работает без js.
      http://codepen.io/riogrande/pen/ahBrb

      Dropdown Menus

      Минималистичное меню с оригинальным эффектом появления вложенного списка элементов. Радует, что это решение тоже без javascript.
      http://codepen.io/kkrueger/pen/qfoLa

      Pure CSS DropDown Menu

      Примитивное, но эффективное решение. Только css и html.
      http://codepen.io/andornagy/pen/xhiJH

      Pull Menu - Menu Interaction Concept

      Интересный концепт меню для мобильного телефона. Я такого ещё не видел. Используется html, css и javascript.
      http://codepen.io/fbrz/pen/bNdMwZ

      Make Simple Dropdown Menu

      Чистый и простой код, без js. В ie8 точно работать будет.
      http://codepen.io/nyekrip/pen/pJoYgb

      Pure CSS dropdown

      Решение неплохое, но слишком уж много используется классов. Радует, что нет js.
      http://codepen.io/jonathlee/pen/mJMzgR

      Dropdown Menu

      Симпатичное вертикальное меню с минимальным javascript-кодом. JQuery не используется!
      http://codepen.io/MeredithU/pen/GAinq

      CSS 3 Dropdown Menu

      Горизонтальное меню с дополнительными подписями может хорошо украсить Ваш сайт. Код простой и понятный. Javascript не применяется.
      http://codepen.io/ibeeback/pen/qdEZjR

      Красивое решение с большим количеством кода (html, css и js). Придумано 3 формата подменю. Для интернет-магазинов решение хорошо подходит.
      http://codepen.io/martinridgway/pen/KVdKQJ

      CSS3 Menu Dropdowns (особенное решение)!

      Темное горизонтальное меню с тринадцатью (13) вариантами анимации! Обязательно советую ознакомиться, пригодится в быту.
      http://codepen.io/cmcg/pen/ofFiz

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

      Привет. Очень давно не писал постов на тему работы html/css. Недавно как раз начал верстать новый макет и в процессе наткнулся на интересный прием, который позволяет сделать меню резиновым (в него можно будет добавлять новые пункты и размер не увеличиться, а всегда будет 100% родительского блока). Итак, сегодня реализуем на css резиновое меню.

      Кому лень читать статью, можно посмотреть это видео. Автор также все очень классно объясняет:

      Резиновое меню на CSS — шаг 1

      Первый шаг — это всегда html разметка, куда же без нее. Но в нашем случае все будет просто:

      1. блок обертка для меню
      2. само меню, выведенное через маркированный список (тег ul)
      3. ну и пункты меню внутри, а в них, соответственно, уже ссылки

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

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

      Теперь будем приводить все в нужный вид, за работу берется CSS.

      Шаг 2 — базовые стили

      Шаг 3 — реализуем резиновость

      Теперь беремся за само меню. У него (у тега ul) я уберу маркеры, сделаю фоновый , и, самое главное, свойством display: table-row заставлю контейнер для меню вести себя как табличный ряд. Это важно сделать для дальнейших манипуляций.

      R-menu{ background: linear-gradient(to right, #b0d4e3 0%,#88bacf 100%); display: table-row; list-style: none; }

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

      R-menu li{ vertical-align: bottom; display: table-cell; width: auto; text-align: center; height: 50px; border-right: 1px solid #222; }

      • vertical-align: bottom — это свойство необходимо для того, чтобы в случае, если текст в пункте меню займет 2 строки, он отображался ровно. Когда мы сделаем меню, можете удалить это свойство, увеличить масштаб чтобы пункты сжались и текст перенесся на две строки и увидите проблему с отображением. Верните свойство и все будет нормально.
      • display: table-cell — поскольку мы задали самому меню отображения табличным рядом, логично будет задать его пунктам отображение как ячейки в таблице. Это обязательно.
      • width: auto — ширина будет вычисляться автоматически, в зависимости от длины текста в пункте
      • text-align: center — это просто для выравнивания текста внутри по центру
      • height: 50px — задаем высоту в 50 пикселей
      • ну и border-right это просто граница справа, такой разделитель для пунктов

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

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

      R-menu li a{ text-decoration: none; width: 1000px; height: 50px; vertical-align: middle; display: table-cell; color: #fff; font: normal 14px Verdana; }

      И вот так теперь выглядит меню:

      Опять же, поясню некоторые строки:

      • свойство text-decoration отменяет подчеркивание у ссылок, которое ставится по умолчанию
      • width: 1000px — пожалуй, самая важная строка. Нужно задать ссылкам примерно такую ширину, можно и меньше, но обязательно больше максимально широкого пункта меню. Ссылки не станут в ширину 1000 пикселей, поскольку ширину ограничит пункт меню li, у которого ширина задана как auto, зато это позволит сделать так, чтобы при любом количестве пунктов в меню оно всегда было на 100 процентов ширины.
      • vertical-align: middle и display: table-cell — первое выровняет текст по вертикали по центру, а второе также делает отображение ссылок в виде ячеек. Оба свойства нужны.
      • font — ну это просто набор установок для шрифта. Читайте про css свойства для шрифтов в .

      Шаг 4 (по желанию) можно добавить интерактивности

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

      R-menu li:hover{ background-color: #6bba70; }

      Тестируем меню на резиновость

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

      Меню осталось в ширину на 600 пикселей. Остальные пункты просто немного ужались, чтобы поместились 2 новых.

      Добавлю еще 1 длинный пункт:

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

      Уменьшу меню до трех пунктов.

      Пунктам стало гораздо свободнее, но само меню не поменялось в ширине. Вот мы и сделали 100% резиновое меню!

      Как его адаптировать?

      В принципе, если вы задали блоку-обертке не фиксированную, а максимальную ширину, то его даже не нужно адаптировать. В моем случае у меня стоит свойство max-width: 600px и когда ширина станет меньше 600 пикселей, блок просто будет уменьшаться вслед за экраном, не образуя горизонтальной прокрутки.

      Ну а если вы хотите как-то изменить или поправить меню на мобильных устройствах или широких экранах, то вам в помощь! Успехов в сайтостроении!



  •