Menu Responsivo com Jquery e Css
Profile Card Css
Botão Animado com Css3
Neste artigo veja como fazer um Menu Responsivo com Jquery e Css.
Veja como Fazer um menu responsivo bem funcional, com níveis de itens com drop-down com um efeito em jQuery e CSS. Ao ser reduzido ao responsivo, cria a composição de um menu minimalista horizontal. Detalhe para o ícone de fechar que aparece na versão Mobile.
Vamos Adicionar o Html:
<header class="main_header container"> <div class="menu-fixo"> <a href="#" class="btn-mobile"><span class="icon-bars"></span>Menu</a> </div> <div class="content"> <div class="main_header_logo"> <a href="https://www.loopnerd.com.br/" title="Loop Nerd"> <img src="img/logo.png" alt="logo.png" title="Loop Nerd"/> </a> </div> <nav> <ul> <li><a href="#"> Início</a></li> <li><a href="#">Sobre</a></li> <li class="submenu"> <a href="#">Front-end <span class="icon-down-open-mini"></span></a> <ul class="children"> <li><a href="#">Html5 </a></li> <li><a href="#">Css3 </a></li> <li><a href="#">Jquery </a></li> </ul> </li><!--submenu--> <li class="submenu"> <a href="#">Sites Prontos<span class="icon-down-open-mini"></span></a> <ul class="children"> <li><a href="#">Sites em Html</a></li> <li><a href="#">Temas Para WordPress</a></li> </ul> </li><!--submenu--> <li><a href="#">Contato</a></li> </ul> </nav> </div><!--C0ntent--> </header>
Vamos Adicionar o Css:
.menu-fixo { display:none; } nav { background:#ffffff; z-index:1; width: 75%; float: right; text-align: right; } nav ul { list-style:none; } nav ul li { display:inline-block; position: relative; } nav ul li:hover { background:#00bec5; } nav ul li a { color:#262626; display:block; text-decoration:none; padding:1.1em 1em; } nav ul li a:hover { color:#ffffff; } nav ul li a span { margin-right:10px; } nav ul li:hover .children { display:block; } nav ul li .children { display: none; background:#00bec5; position: absolute; width:170%; z-index:1000; text-align:left; } nav ul li .children li { display:block; overflow: hidden; border-bottom: 1px solid rgba(255,255,255,.5); } nav ul li .children li:hover { background:#262626; color:#ffffff;} nav ul li .children li a { display: block; } nav ul li .children li a span { float: right; position: relative; top:3px; margin-right:0; margin-left:10px; } nav ul li .caret { position: relative; top:3px; margin-left:10px; margin-right:0px; } @media screen and (max-width: 900px) { .menu-fixo { display:block; width:100%; background:#00BEC5; position:fixed; } .menu-fixo .btn-mobile { display: block; padding: 0.5em 1em; color: #fff; overflow: hidden; font-size: 25px; font-weight: bold; text-decoration: none; } .menu-fixo span { float: right; font-size:25px; } nav { width: 80%; height: calc(100% - 80px); position: fixed; right:100%; margin: 0; overflow: scroll; text-align:left; } nav ul li { display: block; border-bottom:1px #f0f0f0 solid; } nav ul li a { display: block; } nav ul li:hover .children { display: none; } nav ul li .children { width: 100%; position: relative; } nav ul li .children li a { margin-left:20px; } nav ul li .caret { float: right; } }
Por fim Vamos Adicionar Jquery para controlar no Mobile:
<script> $(document).ready(main); var cont = 1; function main () { $('.menu-fixo').click(function(){ if (cont == 1) { $('nav').animate({ left: '0' }); cont = 0; } else { cont = 1; $('nav').animate({ left: '-100%' }); } }); // Mobile $('.submenu').click(function(){ $(this).children('.children').slideToggle(); }); } </script>
Script para deixar o Menu fixo ao rolar a página:
<script> $(function () { //HEADER $(window).scroll(function () { if($(this).scrollTop() > 200) { if (!$('.main_header').hasClass('fixed')) { $('.main_header').stop().addClass('fixed').css('top', '-100px').animate( { 'top': '0px' }, 500); } } else { $('.main_header').removeClass('fixed'); } }); }); </script>
Veja o código Funcionando abaixo:
Deixe um comentário