Большой обзор красивых многоуровневых меню с codepen / Хабр

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

На С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 [work for mobile touch screen]

Решение неплохое, но слишком уж много используется классов. Радует, что нет 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
 
KVdKQJ (автор очень долго думал над названием)

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

Темное горизонтальное меню с тринадцатью (13) вариантами анимации! Обязательно советую ознакомиться, пригодится в быту.
http://codepen.io/cmcg/pen/ofFiz
 
П.С.
Надеюсь, Вам понравилась сборка из 23 решений. Если хотите и дальше их читать, то пройдите снизу опрос.
Всем приятной работы.

Многоуровневое меню uCoz (видео-урок) — Онлайн образование

Главная    Блог    Сайтостроение    Многоуровневое меню uCoz (видео-урок)

Сайтостроение 553

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

Для начала войдите в панель управления своим сайтом и на главной странице панели управления перейдите по ссылке «Конструктор меню»

Видео-урок Многоуровневое меню uCoz

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

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

Подпишись на наш канал в Telegram или VK — первым узнавай о бесплатных вебинарах и курсах, а так же скидках на платное обучение.

Изменение внешнего вида меню через css

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

.uMenuRoot{
  margin:0px;
  padding:0px;
}

.uMenuRoot li {
  border: solid #666666 1px;
  list-style:none;
  margin: 0px 0px 1px 0px;
  padding: 4px 3px 3px 23px;
  height:15px;
  font-family:Tahoma,Arial,Helvetica;
  font-weight:bold;
  color:#c77a25;
  background: url('/img/plus.gif') no-repeat 3px #EFEFEF;
}

.uMenuRoot li:hover {
  border: solid #666666 1px;
  list-style:none;
  margin: 0px 0px 1px 0px;
  padding: 4px 3px 3px 23px;
  height:15px;
  font-family:Tahoma,Arial,Helvetica;
  font-weight:bold;
  color:#c77a25;
  text-decoration:underline;
  background: url('/img/minus.
gif') no-repeat 3px #EFEFEF;   cursor:pointer; } .uMenuRoot li a:hover {   font-weight:bold;   color:#c77a25;   text-decoration:underline; } .uMenuItem li a{   color:#000000;   text-decoration:underline; } #uMenuDiv1 .xw-tl, #uMenuDiv1 .xw-bl {   display: none; } #uMenuDiv1 .xw-ml, #uMenuDiv1 .xw-mr {   padding: 0; } #uMenuDiv1 .xw-mc {   border: solid #FFFFFF 1px;   background: #EFEFEF; } #uMenuDiv1 .u-menuvitem {   background: url('/img/point1.gif') no-repeat 3px #EFEFEF;   padding: 3px 3px 0px 23px;   color:#666666; } #uMenuDiv1 .u-menuvitem a{   color:#c77a25; } #uMenuDiv1 .u-menuitemhl{   background: url('/img/point1s.gif') no-repeat 3px #EFEFEF;   padding: 3px 3px 0px 23px;   color:#c77a25;   text-decoration:underline; }

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

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

Рекомендую так же ознакомится:

  • Видеоукурс по uCoz;
  • Курсы по html и css;

css ucoz дизайн

Дизайн вложенного меню с использованием HTML и CSS

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

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

 .navtop>ул {
  положение: родственник;
  z-индекс: 1
}
.navtop>ул>ли {
  плыть налево;
  граница слева: 1px сплошная #fff;
}
.navtop ul li a {
  дисплей: блок;
  отступ: 10px 20px;
  цвет: #ccc
}
. navtop ul li: первый ребенок {
  граница: нет;
}
.navtop>ul>li:hover>ul {
  дисплей: блок;
}
.navtop> ul> li> ul> li: hover ul {
  дисплей: блок;
}
.navtop>ul>li>ul>li>ul>li:hover>ul {
  дисплей: блок;
} // это не сработало.
.navtop> ul> li> ul li {
  положение: родственник;
}
.navtop>ул>ли>ул {
  дисплей: нет;
  положение: абсолютное;
  фон: #333;
}
.navtop>ul>li>ul>li>ul {
  дисплей: нет;
  положение: абсолютное;
  слева: 100%;
  верх: 1 пиксель;
  фон: #333
}
.navtop>ul>li>ul>li>ul>li>ul {
  дисплей: нет;
  положение: абсолютное;
  слева: 100%;
  верх: 1 пиксель;
  фон: #333
} // это не сработало. 
 <дел>
  <навигация>
    <ул>
      
  • Раскрывающиеся меню <ул>
  • Раскрывающееся меню 1 <ул>
  • Раскрывающееся подменю 1 <ул>
  • Раскрывающееся подменю
  • Раскрывающееся подменю 2
  • Раскрывающееся подменю 3
  • <дел>
    • html
    • css

    Удалите все фрагменты кода с помощью :hover и используйте . navtop li:hover>ul {display: block;} вместо

    1

    Обновите свой стиль в соответствии с этим

     .navtop > ul{
         должность: родственница;
         z-индекс: 1
    }
    .navtop > ул > ли {
        плыть налево;
        граница слева: 1px сплошная #fff;
    }
    .navtop уль ли а{
        дисплей:блок;
        отступ: 10 пикселей 20 пикселей;
        цвет:#ccc
    }
    .navtop ul li: первый ребенок {
        граница: нет;
    }
    .navtop > ul > li: hover > ul {
        дисплей:блок;
    }
    .navtop > ul > li > ul > li: hover ul{
        дисплей:блок;
    }
     
    .navtop > ul > li > ul > li > ul > li: hover > ul{
        дисплей:блок !важно;
    } // это не сработало.
    .navtop > ул > ли > ул ли {
        должность: родственница;
    }
    .navtop > ул > ли > ул {
        дисплей:нет;
        положение: абсолютное;
        фон:#333;
    }
    .navtop > ul > li > ul > li > ul{
        дисплей:нет;
        положение: абсолютное;
        слева: 100%;
        верх: 1 пиксель;
        фон:#333
    }
    .navtop > ul > li > ul > li > ul > li > ul {
        отображение:нет !важно;
        положение: абсолютное;
        слева: 100%;
        верх: 1 пиксель;
        фон:#333
    }
     

    Это должно помочь!

     * {
      маржа: 0;
      заполнение: 0;
    }
    . родитель {
      дисплей: блок;
      положение: родственник;
      плыть налево;
      высота строки: 2rem;
      цвет фона: #d84f4f;
    }
    .родитель {
      поле: 1 бэр;
      цвет: #ffffff;
      текстовое оформление: нет;
    }
    .parent: наведите курсор > ул {
      дисплей: блок;
      положение: абсолютное;
    }
    .ребенок {
      дисплей: нет;
    }
    .чайлд ли {
      цвет фона: #d84f4f;
      высота строки: 2rem;
      ширина: 100%;
    }
    .чайлд ли {
      цвет: #fff;
    }
    ул {
      стиль списка: нет;
      маржа: 0;
      заполнение: 0;
      мин-ширина: 10рем;
    }
    ул уль уль {
      слева: 100%;
      сверху: 0;
    }
    ли: наведите {
      цвет фона: #8a1313;
    }
    .parent li:наведите {
      цвет фона: #6c1111;
    } 
     <навигация>
        <ул>
            
  • Меню <ул>
  • Раскрывающееся меню 1 <ул>
  • Раскрывающийся список SUB 1 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB 2 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB 3 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающееся меню 2 <ул>
  • Раскрывающийся список SUB 1 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB 2 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB 3 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающееся меню 3 <ул>
  • Раскрывающийся список SUB 1 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB 2 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB 3 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • <ул>
  • О нас <ул>
  • Раскрывающееся меню 1 <ул>
  • Раскрывающийся список SUB 1 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB 2 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB 3 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающееся меню 2 <ул>
  • Раскрывающийся список SUB 1 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB 2 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB 3 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающееся меню 3 <ул>
  • Раскрывающийся список SUB 1 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB 2 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB 3 <ул>
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • Раскрывающийся список SUB SUB
  • 1

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

     корпус, ул, ли {
      заполнение: 0;
      маржа: 0;
    }
    ли ли {
      дисплей: нет;
    }
    li: hover> ul> li {
      дисплей: блок;
    }
    ли {
      цвет фона: оранжевый;
    }
    ли ли {
      цвет фона: серый;
    }
    ли ли ли {
      цвет фона: розовый;
    } 
     <ул>
      
  • Меню 1 <ул>
  • Подменю 1 <ул>
  • Подменю 1
  • Подподменю 2
  • Подменю 2 <ул>
  • Подменю 1
  • Подподменю 2
  • Меню 2 <ул>
  • Подменю 1 <ул>
  • Подменю 1
  • Подподменю 2
  • Подменю 2 <ул>
  • Подменю 1
  • Подподменю 2
  • Зарегистрируйтесь или войдите в систему

    Зарегистрируйтесь с помощью Google

    Зарегистрироваться через Facebook

    Зарегистрируйтесь, используя электронную почту и пароль

    Опубликовать как гость

    Электронная почта

    Требуется, но никогда не отображается

    Опубликовать как гость

    Электронная почта

    Требуется, но не отображается

    Создание адаптивного многоуровневого мегаменю только с CSS | Виктория Кронселл | The Startup

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

    Автор записи

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *