Адаптивное многоуровневое горизонтальное меню – Как сделать многоуровневое адаптивное выпадающее горизонтальное меню без использования JS на чистом CSS?

Адаптивное многоуровневое меню на CSS

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

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

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

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

Имеет ли смысл ставить сюда мини профиль?

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

Будет стандартный шаблон адаптивный с этой панелью?

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

Что даст изменение на портале?

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

Это изображение под разными функциями и размерами.

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

Когда поставите, то так визуально будет все выглядеть.

Это вы если зайдете на сайт с мобильного устройства.

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

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

Код

<header>
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">  
<div>  
<div>  
<div><a href="/">ZORNET.RU</a></div>  
<div>  
<nav>  
<div><ul>  
<li><a href="/"><span><i aria-hidden="true"></i> Главная</span></a></li>  
<li><a href="zornet.ru/load/81"><span><i aria-hidden="true"></i> Скрипты</span></a></li>  
<li><a href="zornet.ru/load/142"><span><i aria-hidden="true"></i> Шаблоны</span></a></li>  
<li><a href="zornet.ru/index/0-3"><span><i aria-hidden="true"></i> Обратная связь</span></a></li>  
<li><a href="http://#"><span><i aria-hidden="true"></i> Еще категорий</span></a><ul>  

<li><a href="/"><span><i aria-hidden="true"></i> Категория новость</span></a></li>  
<li><a href="/"><span><i aria-hidden="true"></i> Категория файлы</span></a></li>  
<li><a href="/"><span><i aria-hidden="true"></i> Категория блог</span></a></li>  
<li><a href="/"><span><i aria-hidden="true"></i> Гостевая книга</span></a></li>  
<li><a href="/"><span><i aria-hidden="true"></i> О компаний</span></a></li></ul></li></ul></div>  
</nav>  
<div><div><span></span><span></span><span></span></div></div>  
</div>  
<div>  
<div>  
<form onsubmit="this.sfSbm.disabled=true" method="get" action="/search/">  
<input type="submit" name="sfSbm" value="">  
<input type="text" size="20" maxlength="40" name="q" value="Поиск по сайту..." onfocus="if(this.value == 'Поиск по сайту...'){this.value = ''}" onblur="if(this.value == ''){this.value = 'Поиск по сайту...'}">  
</form>  
</div>  
</div>  
</header>


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

Многоуровневое адаптивное меню - WEB Team

.menu{display:block;}

.menu li{display: inline-block;

position: relative;

z-index:100;}

.menu li a {font-weight:600;

text-decoration:none;

padding:11px;

display:block;

color:#ffffff;

-webkit-transition: all 0.2s ease-in-out 0s;

   -moz-transition: all 0.2s ease-in-out 0s;

   -o-transition: all 0.2s ease-in-out 0s;

   -ms-transition: all 0.2s ease-in-out 0s;

   transition: all 0.2s ease-in-out 0s;

}

.menu li a:hover, .menu li:hover > a{color:#ffffff;

background:#9CA3DA;}

/* hide the second level menu */

.menu ul {display: none;

margin: 0;

padding: 0;

width: 150px;

position: absolute;

top: 43px;

left: 0px;

background: #ffffff;

}

/* display second level menu on hover */

.menu li:hover > ul{ display: block;}

.menu ul li {display:block;

float: none;

background:none;

margin:0;

padding:0;

}

.menu ul li a {font-size:12px;

font-weight:normal;

display:block;

color:#797979;

border-left:3px solid #ffffff;

background:#ffffff;}

.menu ul li a:hover, .menu ul li:hover > a{

background:#f0f0f0;

border-left:3px solid #9CA3DA;

color:#797979;

}

/* change level 3 menu positions */

.menu ul ul {left: 149px;

top: 0px;

}

.mobile-menu{display:none;

width:100%;

padding:11px;

background:#3E4156;

color:#ffffff;

text-transform:uppercase;

font-weight:600;

}

.mobile-menu:hover{background:#3E4156;

color:#ffffff;

text-decoration:none;

}

 

@media (max-width: 767px) {

.menu{display:none;}

.mobile-menu{display:block;

margin-top:100px;}

nav{margin:0;

background:none;}

.menu li{display:block;

margin:0;}

.menu li a {background:#ffffff;

color:#797979;

border-top:1px solid #e0e0e0;

border-left:3px solid #ffffff;}

.menu li a:hover, .menu li:hover > a{

background:#f0f0f0;

color:#797979;

border-left:3px solid #9CA3DA;}

/*level 2 and 3 - make same width as all items*/

.menu ul {display:block;

position:relative;

top:0;

left:0;

width:100%;}

.menu ul ul {left:0;}

}/*end media queries*/

Адаптивное многоуровневое мега-меню на jQuery

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

 

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

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

Шаг 1. HTML

Для начала работы включите необходимую библиотеку jQuery и JavaScript файлы плагинов меню в странице где будет находиться навигация:

<link rel="stylesheet" href="jquery.dmenu.css">

<script src="jquery-3.3.1.min.js"></script>

<script src="jquery.dmenu.js"></script>

Мега-меню будет состоять из следующей структуры для навигации:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

<nav>

<ul>

<li>

<a href="#">Меню</a>

<ul>

<li>

<a href="#">Навигация сайта</a>

<ul>

<li>

<a href="#">Интересные</a>

<ul>

<li><a href="#">Описание ссылки</a></li>

<li><a href="#">Описание ссылки</a></li>

<li><a href="#">Описание ссылки</a></li>

</ul>

</li>

<li>

<div></div>

<a href="#">Уроки</a>

<ul>

<li><a href="#">Дизайна</a></li>

<li><a href="#">Пособие</a></li>

<li><a href="#">Инструкции</a></li>

</ul>

</li>

</ul>

</li>

<li>

<a href="#">Исходники</a>

<ul>

<li>

<a href="#">Уроки</a>

<ul>

<li><a href="#">Интересные</a></li>

<li><a href="#">Популярные</a></li>

<li><a href="#">Креативные</a></li>

</ul>

</li>

<li>

<a href="#">Демонстрации</a>

<ul>

<li><a href="#">Новые</a></li>

<li><a href="#">Интересные</a></li>

</ul>

</li>

<li>

<a href="#">Уроки</a>

<ul>

<li><a href="#">Описание</a></li>

<li><a href="#">Описание</a></li>

<li><a href="#">Описание</a></li>

</ul>

</li>

</ul>

</li>

<li>

<a href="#">Интересные новости</a>

<ul>

<li><a href="#">Описание</a></li>

<li><a href="#">Описание</a></li>

</ul>

</li>

<li>

<a href="#">Ссылка</a>

<ul>

<li><a href="#">Описание</a></li>

<li><a href="#">Описание</a></li>

<li><a href="#">Описание</a></li>

</ul>

</li>

</ul>

</li>

</ul>

</nav>

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

Шаг 2. CSS

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

  • Selected: Делает элемент (и все родительские элементы) «Selected».
  • AlignRight: Выравнивание основного элемента по правому краю.
  • IconHidden: Использует значок в качестве запасного варианта, когда меню слишком большое.
  • SubmenuAlignRight: Выравнивание подменю. Примечание: подменю автоматически выравниваются по размеру окна просмотра.
  • SubmenuFullwidth: Позволяет заполнить подменю по всей ширине меню.
  • SubmenuMega: Превращает подменю в мега-меню.
  • SubmenuTabs: Превращает подменю в меню вкладок.
  • SubmenuAlignRight: Выравнивание подменю. Примечание: субподменю выравниваются автоматически.
Шаг 3. JS

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

  • menu.align: Выравнивает основные элементы по левому краю, по правому краю, по центру или по ширине.
  • menu.border: Добавляет границу (внизу) в нижней части меню.
  • menu.logo: Стиль логотипа в меню (если есть).
  • item.bg: Добавляет фон к основным элементам при наведении.
  • item.border: Добавляет границу (снизу) к основным элементам при наведении.
  • item.subindicator: Добавляет индикатор к основным элементам.
  • submenu: Требуется для подменю.
  • submenu.arrow: Добавляет стрелку, указывающую на главный элемент.
  • submenu.border: Добавляет границу (сверху) к подменю.
  • submenu.shadow: Добавляет тень к подменю.
  • subitem.bg: Добавляет фон к подэлементам onHover.
  • subitem.border: Добавляет границу между подэлементами.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

$('#menu').dmenu({

menu : {

logo : true,

align : 'right'

},

item : {

bg : true,

border : false,

subindicator : true,

 

fit : [

{

items : null,

fitter : 'icon-hide',

order : 'all'

},

{

items : null,

fitter : 'icon-only',

order : 'all'

},

{

items : ':not(.dm-item_align-right)',

fitter : 'submenu',

order : 'rtl'

},

{

items : ':not(.dm-item_align-right)',

fitter : 'hide',

order : 'rtl'

}

]

},

submenu : {

arrow : false,

border : false,

shadow : true

},

subitem : {

bg : true,

border : false

}

 

});

Думаю из семи вариантов, каждый найдет что-то для себя, а вы как считаете? оставляйте комментарии с вашими вопросами и пожеланиями.

Вот и все. Готово!

Читайте также:

Меню и навигация

1 225 Animation / Menu & Nav / Codepen

Эффект наведения следящий за курсором

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

Эффект наведения следящий за курсором 5 231 Скрипты / Menu & Nav

Canvi — off-canvas панель навигации

Canvi навигационная панель (off-canvas) с несколькими параметрами для настройки. Можно использовать сразу несколько панелей на одной странице, устанавливать адаптивную ширину и использовать свои стили для панели.

Canvi — off-canvas панель навигации 5 683 Скрипты / Menu & Nav

Эффект зачеркивания при наведении в меню

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

Эффект зачеркивания при наведении в меню 11 627 Скрипты / Menu & Nav

Slinky — адаптивное многоуровневое меню

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

Slinky — адаптивное многоуровневое меню 3 855 Скрипты / Menu & Nav

Гибкое горизонтальное меню

Небольшой скрипт, который поможет в создании более эстетического адаптивного горизонтального меню. Если размер экрана не позволяет отобразить все пункты горизонтального меню, то данный скрипт перемещает эти пункты в выпадающее меню - "три точки". Использование этого скрипта, позволит отображать адаптивную иконку (гамбургер), тогда, когда вы сами это решите, так как меню теперь будет всегда смотреться аккуратно.

Гибкое горизонтальное меню 6 610 Скрипты / Menu & Nav

Slide out sidebar меню

  Плавно выдвигающееся меню боковой панели. Реализации данного меню уже несколько лет, однако мы решили вспомнить о нём и прикрутить иконки font-awesome, шрифт roboto и обновить modernizr.

Slide out sidebar меню 4 935 Скрипты / Menu & Nav

Mega dropdown меню

Mega dropdown меню - jQuery плагин для реализации большого выпадающего меню с множеством подкатегорий для сайтов с большим количеством контента.

Mega dropdown меню 4 115 Скрипты / Menu & Nav

Диагональное меню на CSS

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

Диагональное меню на CSS 2 792 Скрипты / Menu & Nav

Lavalamp меню на CSS3

Скользящий эффект для меню при наведении, который более известен, как lavalamp эффект. Эффект реализован только на CSS с помощью transitions и селектора ~.

Lavalamp меню на CSS3 3 141 Скрипты / Menu & Nav

Анимированный border с меню

Создание off-canvas (вне основной страницы) навигации с анимированным border эффектом.

Анимированный border с меню 10 674 Скрипты / Menu & Nav

Адаптивное много-уровневое меню

Сегодня сделаем адаптивное много-уровневое меню. Для мобильной версии добавим несколько строчек jаvascript кода. Для лучшего восприятия пунктов навигации, добавим для каждого иконки, воспользовавшись уже знакомым нам по предыдущим урокам - font-awesome.css

Адаптивное много-уровневое меню 3 181 Скрипты / Menu & Nav

Responsive nav - плагин адаптивного меню

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

Responsive nav - плагин адаптивного меню

Меню многоуровневое горизонтальное и вертикальное CSS

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

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

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

1. Вертикальное

 

 

2. Горизонтальное

 

Код:

HTML


<div>
<ul>
<li><a href="">Meny1</a>
<ul>
<li><a href="">Meny 1-2</a>
<ul>
<li><a href="">Meny 1-2-1</a></li>
<li><a href="">Meny 1-2-2</a></li>
</ul>
</li>
<li><a href="">Meny 1-3</a>
<ul>
<li><a href="">Meny 1-3-1</a></li>
<li><a href="">Meny 1-3-2</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="">Meny 2</a>
<ul>
<li><a href="">Meny 2-1</a>
<ul>
<li><a href="">Meny 2-1-1</a></li>
<li><a href="">Meny 2-1-2</a></li>
</ul>
</li>
<li><a href="">Meny 2-2</a>
<ul>
<li><a href="">Meny 2-2-1</a></li>
<li><a href="">Meny 2-2-2</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</div>

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

Стили для всех блоков, имеющихся и добавленных, будут одинаковыми.

CSS


.nav {
background: white;
text-align: center;
}
.nav a {
text-decoration: none;
display: block;
transition: .5s linear;
}
.nav ul {
list-style: none;
margin: 0;
padding: 0;
}
.topmenu > li {
display: block;
/*Если вместо block задать inline-block,
меню будет горизонтальным*/
position: relative;
width: 200px;
}
.topmenu > li > a {
font-weight: bold;
padding: 10px 30px;
font-size: 12px;
text-transform: uppercase;
letter-spacing: 2px;
color: #1c1c1c;
border: 1px solid #999;
}
.submenu {
position: absolute;
left: 10px;
z-index: 5;
width: 240px;
visibility: hidden;
opacity: 0;
transform: translateY(10px);
transition: .5s ease-in-out;
}
.submenu li {
position: relative;
border: 1px solid #999;
margin:2px;
}
.submenu a {
background: white;
color: #1c1c1c;
text-align: center;
font-size: 14px;
letter-spacing: 1px;
padding: 10px 20px;
}
.submenu .submenu {
position: absolute;
top: 0;
left: 200px;

}
.nav li:hover > .submenu {
visibility: visible;
opacity: 1;
transform: translateY(0px);
}

Желаю творческих успехов.

В раздел > > >

Рекомендую: Бесплатные HTML шаблоны на русском от TemplateMonster

Запись опубликована в рубрике CSS основы, HTML основы. Добавьте в закладки постоянную ссылку.

Адаптивное вертикальное многоуровневое меню на CSS3

<div>

<nav>

<ul>

<li>

<a href="">

<i></i>

<strong>Главная</strong>

<small>Описание страницы</small>

</a>

</li>

<li>

<a href="">

<i></i>

<strong>О нас</strong>

<small>Описание страницы</small>

</a>

</li>

<li>

<a href="">

<i></i>

<strong>Возможности</strong>

<small>Описание страницы</small>

</a>

</li>

<li>

<a href="">

<i></i>

<strong>Новости</strong>

<small>Описание страницы</small>

</a>

</li>

<li>

<a href="">

<i></i>

<strong>Блог</strong>

<small>Поболтаем?</small>

</a>

<ul>

<li><a href="#"><i></i>Кто мы?</a></li>

<li>

<a href="#"><i></i>Наша команда</a>

<ul>

<li><a href="#"><i></i>Девка</a></li>

<li>

<a href="#"><i></i>Парень</a>

<ul>

<li><a href="#"><i></i>Обо мне</a></li>

<li><a href="#"><i></i>Достижения</a></li>

</ul>

</li>

<li><a href="#"><i></i>Девка #2</a></li>

</ul>

</li>

<li><a href="#"><i></i>Награды</a></li>

<li><a href="#"><i></i>Сертификаты</a></li>

</ul>

</li>

<li>

<a href="">

<i></i>

<strong>Портфолио</strong>

<small>Описание страницы</small>

</a>

</li>

<li>

<a href="">

<i></i>

<strong>Контакты</strong>

<small>Напишите нам</small>

</a>

</li>

<li>

<a>

<input type="text" value="поиск ...">

<button><i></i></button>

</a>

<a href="">

<i></i>

</a>

</li>

</ul>

</nav>

</div>

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

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