Como Criar Menu Deslizante com CSS3 e HTML5

No artigo de hoje, nós vamos aprender a criar um menu deslizante com CSS e HTML. Este menu fica escondido na lateral e desliza para a área visível ao ou passar o mouse no menu. Este recurso é bastante útil para quem acesso algum site pelo celular.
Usaremos algumas propriedades do CSS3 que talvez você não tenha usado ou não conheça.
1° Etapa:
Como você pode ver, no código acima não tem nada de diferente que usamos quando estamos programando.
Colocamos nossos estilos no ( body ) e nos links ( a ) e ( a:hover ) para termos um estilo bacana
body{
font-family: Arial, sans-serif;
font-size: 16px;
}
/*estilo do nosso link*/
a{
position: absolute;
z-index: 10;
font-weight: bold;
color: #fff;
font-size: 1.4em;
padding-left: 22px;
display: block;
width: 160px;
height: 40px;
text-decoration: none;
}
/*ao passar o mouse sobre nosso link*/
a:hover{
color: yellowgreen;
border-right: 2px solid #fff;
}2° Etapa:
Agora vamos criar nossa classe ( .menu ) que vai envolver nosso conteúdo e darmos os estilos a ela.
.menu{
position: relative;
list-style: none;
width: 182px;
padding: 40px 0;
margin: auto;
}3° Etapa:
o código abaixo, criamos uma classe ( .menu:before ) ela se aplica antes da classe ( .menu ), usamos o Pseudo Elementos ( :before ) para criá-las.
Nessa classe colocamos os estilos como cor de fundo e outras propriedades do CSS3. Ela é uma classe absoluta e com mesmo tamanho da classe ( .menu ), mas, com seus próprios estilos.
.menu:before {
content: "";
position: absolute;
z-index: 10;
background: #5b9780;
height: 100%;
width: 182px;
margin-top: -40px;
-webkit-border-radius: 10px;
border-radius: 10px;
}4° Etapa:
Aqui você vai definir altura e uma largura a nossa ( .menu li ) para poder termos os espaços e tamanho que se ajuste ao nosso bloco.
.menu li{
height: 40px;
width: 100%;
}5° Etapa:
Nesta etapa criamos nossa classe que vai dar o efeito de deslizar ao passar o mouse sobre um menu.
.menu li .submenu{
width: 152px;
height: 220px;
padding: 15px;
margin-top: 16px;
background: yellowgreen;
overflow: hidden;
color: #fff;
text-align: right;
position: absolute;
top: 0px;
left: 0;
opacity: 0;
-webkit-transition: 1s left,1s width,1s opacity;
transition: 1s left,1s width,1s opacity;
border-top-right-radius: 10px;
-webkit-border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
-webkit-border-bottom-right-radius: 10px;
}6° Etapa:
Para finalizar vamos criar o Pseudo Classes ( :hover ) para fazer nossa classe ( .submenu ) deslizar ao passar o mouse sobre cada menu.
.menu li:hover .submenu{
left: 182px;
opacity: 1;
width: 276px;
}7° Etapa:
Aqui está o código completo em HTML com todo conteúdo para exemplo
<!DOCTYPE html>
<html>
<head>
<title>Menu deslizante com CSS3 e HTML5</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<ul class="menu">
<li>
<a href="">Home</a>
<div class="submenu">
<h1>HOME</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt.</p>
</div>
</li>
<li>
<a href="">Sobre</a>
<div class="submenu">
<h1>SOBRE</h1>
<p>Quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
</div>
</li>
<li>
<a href="">Notícias</a>
<div class="submenu">
<h1>NOTÍCIAS</h1>
<p>Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</p>
</div>
</li>
<li>
<a href="">Esporte</a>
<div class="submenu">
<h1>ESPORTE</h1>
<p>Excepteur sint occaecat cupidatat non proident, sunt in culpa id est laborum.</p>
</div>
</li>
<li>
<a href="">Contato</a>
<div class="submenu">
<h1>CONTATO</h1>
<p>Excepteur sint occaecat cupidatat non proident, sunt in culpa id est laborum.</p>
</div>
</li>
</ul>
</body>
</html>Confira o Resultado Final
See the Pen Menu deslizante com CSS3 e HTML5 by HTML e CSS Pro (@htmlecsspro) on CodePen.
Gostou do Tutorial de como criar um menu deslizante com CSS e HTML? Se você quiser aprender não só menus como esse, mas toda a manipulação com html, css e js, além de outras tecnologias fundamentais, nós temos o curso Programador Full Stack Javascript Profissional, para você entender e aprender programação de uma vez por todas.

Até o próximo post.
Referência:
Sobre o Autor
0 Comentários