Задать вопрос

Как сделать адаптивное меню для сайта?

Как сделать адаптивное меню как на этом сайте.
Т.е., чтобы:
  • когда открывается страница меню не показывается;
  • когда страница прокручивается вниз, появляется полоска меню;
  • при просмотре с мобильного меню сворачивается и появляется кнопка.

Вижу, что на wordpress сайт сделан. Может кто скинет ссылку на готовый шаблон такого адаптивного, который можно просто вставить на сайт, который сейчас верстаю.

Заранее благодарен)
  • Вопрос задан
  • 3903 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
budikov
@budikov Автор вопроса
Нашел 2 варианта:
1. Sticky Navigation - полоска меню при прокрутке находится вверху страницы.
2. Responsive Nav - адаптивное меню.

Из двух нужно/можно собрать одно)

1. Html
<div id="header">
  <div class="logo">
 	   <a href="#">Watch Market</a>
  </div>  
  <nav>
       <ul id="menu">
     	<li>
        	<a href="">Home</a>
        	<a href="">Home</a>
        	<a href="">Home</a>
        	<a href="">Home</a>
        	<a href="">Home</a>
        	<a href="">Home</a>
       		<a href="">Home</a>
	    </li>
    </ul>
  </nav>
</div>


2. CSS
*, *:before, *:after {-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:0}
body{background:#bdc3c7;line-height:1.5;font-family:sans-serif;text-transform:uppercase;font-size:16px;color:#fff}
a{text-decoration:none;color:#fff}
#header{background:#1E262D;width:100%;position:relative}
#header:after{content:"";clear:both;display:block}
.search{float:right;padding:30px}
input{border:none;padding:10px;border-radius:20px}
.logo{float:left;padding:26px 0 26px}
.logo a{font-size:28px;display:block;padding:0 0 0 20px}
nav{float:right;}
nav>ul{float:left;position:relative}
nav li{list-style:none;float:left}
nav .dropdown{position:relative}
nav li a{float:left;padding:35px}
nav li a:hover{background:#2C3E50}
nav li ul{display:none}
nav li:hover ul{display:inline}
nav li li{float:none}
nav .dropdown ul{position:absolute;left:0;top:100%;background:#fff;padding:20px 0;border-bottom:3px solid #34495e}
nav .dropdown li{white-space:nowrap}
nav .dropdown li a{padding:10px 35px;font-size:13px;min-width:200px}
nav .mega-dropdown{width:100%;position:absolute;top:100%;left:0;background:#fff;overflow:hidden;padding:20px 35px;border-bottom:3px solid #34495e}
nav li li a{float:none;color:#333;display:block;padding:8px 10px;border-radius:3px;font-size:13px}
nav li li a:hover{background:#bdc3c7;background:#FAFBFB}
.mega-col{width:25%;float:left}
#menu-icon{position:absolute;right:0;top:50%;margin-top:-12px;margin-right:30px;display:none}
#menu-icon span{border:2px solid #fff;width:30px;margin-bottom:5px;display:block;-webkit-transition:all .2s;transition:all .1s}
@media only screen and (max-width: 1170px) {
  nav >ul>li >a{padding:35px 15px}
}
@media only screen and (min-width: 960px) {
  nav{display:block!important}
}
@media only screen and (max-width: 959px) {
  nav{display:none;width:100%;clear:both;float:none;max-height:400px;overflow-y:scroll}
  #menu-icon{display:inline;top:45px;cursor:pointer}
  #menu-icon.active .first{transform:rotate(45deg);-webkit-transform:rotate(45deg);margin-top:10px}
  #menu-icon.active .second{transform:rotate(135deg);-webkit-transform:rotate(135deg);position:relative;top:-9px;}
  #menu-icon.active .third{display:none}
  .search{float:none}
  .search input{width:100%}
  nav{padding:10px}
  nav ul{float:none}
  nav li{float:none}
  nav ul li a{float:none;padding:8px;display:block}
  #header nav ul ul{display:block;position:static;background:none;border:none;padding:0}
  #header nav a{color:#fff;padding:8px}
  #header nav a:hover{background:#fff;color:#333;border-radius:3px}
  #header nav ul li li a:before{content:"- "}
  .mega-col{width:100%}
}


3. JS. Вот тут у меня вопросы.

Код 1-го меню
$(function () {

		$(window).scroll(function(event) {
			if($(this).scrollTop() > 150) {
			$("#menu").fadeIn();
			$("#menu").addClass('fixed',1000,'linear');
		}
		else {
			$("#menu").removeClass('fixed')
		}
		});

	});


Код второго меню
$(function () {

		$(window).scroll(function(event) {
			if($(this).scrollTop() > 150) {
			$("#menu").fadeIn();
			$("#menu").addClass('fixed',1000,'linear');
		}
		else {
			$("#menu").removeClass('fixed')
		}
		});

	});


Как их объединить в один скрипт? Библиотеку jquery подключать?
Html и CSS я вставил. Но меню не работает. Как JS сделать не знаю покамест.
Ответ написан
Комментировать
Комментировать
sabramovskikh
@sabramovskikh
Гугл нам расскажет, гугл нам покажет
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы