Menu dropdown responsive com HTML e CSS
Accordion Html Css
Menu responsivo com CSS, HTML e JS
Menu dropdown responsive com HTML e CSS
Veja neste tutorial como criar um Menu dropdown responsive com html e css e jquery para dar o efeito mobile.
Nesta seção, projetaremos uma estrutura simples na tag <div>, <nav>, <ul> ,<li> , <span> e a <a> para inserirmos o link de destino.
Essas são as tags que usaremos para criar o nosso Menu dropdown.
Vamos Adicionar o HTML
<div class="menu">
<nav class="main-nav">
<ul>
<li><a href="#" title="Home">Home</a></li>
<li><a href="">Front-end</a>
<ul>
<li><a href="#" title="Html">Html</a></li>
<li><a href="#" title="Css">Css</a></li>
<li><a href="#" title="Jquery">Jquery</a></li>
<li><a href="#" title="Javascript">Javascript</a></li>
</ul>
</li>
<li><a href="">Back-end</a>
<ul>
<li><a href="#" title="PHP">PHP</a></li>
<li><a href="#" title="Python">Python</a>
<li><a href="#" title="Ruby">Ruby</a>
<li><a href="#" title="C++">C++</a></li>
<li><a href="#" title="Banco de Dados">Banco de Dados</a>
<ul>
<li><a href="#" title="MySQL">MySQL</a></li>
<li><a href="#" title="MariaDB">MariaDB </a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#" title="Blog">Blog</a></li>
<li><a href="#" title="Fale Conosco">Fale Conosco</a></li>
</ul>
</nav>
<div class="mob-btn">
<span></span>
<span></span>
<span></span>
</div>
<div class="overlay"></div>
</div><!-- menu -->
Vamos Adicionar o CSS
Nesta seção, usaremos algumas propriedades CSS para estilizar o nosso .Menu dropdown
.menu {
background: #0553a5;
margin-bottom: 0;
width: 100%;
float: left;
margin-top: 0;
border-top: 1px #2369b2 solid;
}
@media only screen and (min-width: 1200px) {
.desk-hide {
display: none;
}
.main-nav {
font-size: 17px;
}
.main-nav > ul {
margin: 0;
padding: 0;
}
.main-nav > ul > li {
display: inline-block;
position: relative;
}
.main-nav > ul > li:last-child {
margin: 0;
}
.main-nav > ul > li.submenu:after {
content: "";
position: absolute;
height: 0;
width: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 6px solid #fff;
right: 7px;
top: 24px;
pointer-events: none;
}
.main-nav > ul > li > a {
color: #fff;
display: block;
padding: 15px 20px;
text-decoration: none;
font-size: 15px;
}
.main-nav > ul > li:hover > a {
color: #fff;
background: #023f80;
}
.main-nav > ul > li:hover > ul {
visibility: visible;
opacity: 1;
z-index: 1;
}
.main-nav > ul > li ul {
position: absolute;
margin: 0;
padding: 0;
background: #023f80;
width: 250px;
visibility: hidden;
opacity: 0;
font-size: 14px;
display: block !important;
}
.main-nav > ul > li ul li {
display: block;
border-bottom: 1px solid #0553a5;
position: relative;
}
.main-nav > ul > li ul li:last-child {
border: 0;
}
.main-nav > ul > li ul li a {
padding: 15px 20px;
display: block;
text-decoration: none;
font-size: 15px;
color: #fff;
}
.main-nav > ul > li ul li:hover > ul {
visibility: visible;
opacity: 1;
left: 250px;
top: 0;
}
.main-nav > ul > li ul li:hover > a {
background: #00b2f8;
}
.main-nav > ul > li ul li.submenu::after {
content: "";
position: absolute;
height: 0;
width: 0;
border-bottom: 5px solid transparent;
border-left: 6px solid #fff;
border-top: 5px solid transparent;
right: 11px;
top: 20px;
pointer-events: none;
}
.mob-btn {
display: none;
}
}
@media only screen and (max-width: 1199px) {
.main-nav {
position: fixed;
width: 250px;
top: 0;
right: -250px;
background: #0553a5;
height: 100%;
transition: all ease 0.2s;
z-index: 1005;
overflow-y: auto;
}
.main-nav ul {
margin: 0;
padding: 0;
display: block;
margin-top: 0px;
}
.main-nav ul.mnav {
margin-bottom: 30px;
}
.main-nav ul li {
display: block;
border-bottom: 1px solid #246ab3;
position: relative;
text-transform: capitalize;
font-size: 15px;
}
.main-nav ul li span {
display: none;
}
.main-nav ul li a {
color: #fff;
text-decoration: none;
font-size: 1em;
display: block;
padding: 10px;
padding-right: 40px;
}
.main-nav ul li a:hover {
background-color: #043b75;
color: #ffffff;
}
.main-nav ul li.submenu i {
position: absolute;
width: 43px;
height: 39px;
top: 0;
right: 0;
cursor: pointer;
-webkit-transition: all ease 0.5s;
-moz-transition: all ease 0.5s;
transition: all ease 0.5s;
}
.main-nav ul li.submenu i:after {
content: "";
height: 0;
width: 0;
border-left: 5px solid transparent;
border-right: 5px solid transparent;
border-top: 6px solid #fff;
position: absolute;
right: 17px;
top: 20px;
z-index: 10;
}
.main-nav ul ul {
margin: 0;
display: none;
}
.main-nav ul ul li:last-child {
border-bottom: 0;
}
.main-nav ul ul li:first-child {
border-top: 1px solid #246ab3;
}
.main-nav ul ul li a {
padding-left: 20px;
}
.main-nav ul ul li ul a {
padding-left: 30px;
}
.show-menu .main-nav {
right: 0;
}
.show-menu .overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.3);
z-index: 1001;
}
.mob-btn {
position: absolute;
float: right;
padding: 5px 7px;
margin: 0px;
background-color: transparent;
cursor: pointer;
right: 15px;
top: 23px;
}
.mob-btn span {
display: block;
width: 25px;
height: 2px;
border-radius: 1px;
background: #fff;
}
.mob-btn span + span {
margin-top: 5px;
}
}
Vamos Adicionar o script para dar o efeito mobile
<script src="js/jquery.js"></script>
<script>
//Menu
$(".main-nav ul li:has(ul)").addClass("submenu");
$(".main-nav ul li:has(ul)").append("<i></i>");
$(".main-nav ul i").click(function() {
$(this)
.parent("li")
.toggleClass("open");
$(this)
.parent("li")
.children("ul")
.slideToggle();
});
//Menu Mobile
$(".mob-btn").click(function() {
if (!$("html").hasClass("show-menu")) {
$("html").addClass("show-menu");
} else {
$("html").removeClass("show-menu");
}
});
$(".overlay").click(function() {
if ($("html").hasClass("show-menu")) {
$("html").removeClass("show-menu");
}
});
//Aparecer addClass
$(".first ul")
.clone()
.prependTo(".main-nav")
.addClass("desk-hide");
$(".last ul")
.clone()
.appendTo(".main-nav")
.addClass("desk-hide");
</script>
Combinando as Três seções acima com Html Css e jquery temos o seguinte Resultado!
Veja o Resultado baixo!


No blogger, é um pouco diferente, mais eu acho que da para inserir html e css personalizado veja ->
https://templateseacessorios.blogspot.com/2013/09/menu-com-submenus-usando-css-no-blogger.html
No Blogger, criar um menu envolve usar a opção “Layout” e adicionar um gadget “Páginas”. Este gadget permite criar e organizar links para páginas internas do blog. Para um menu personalizado ou um menu suspenso (submenu), é necessário editar o código HTML e CSS do tema do blog.
Passo a passo para criar um menu básico:
Acesse o Blogger: Faça login no seu Blogger e selecione o blog que você deseja editar.
Vá para Layout: No painel de controle, clique em “Layout” no menu à esquerda.
Adicione o gadget “Páginas”: Localize a seção onde você quer que o menu apareça (por exemplo, no cabeçalho ou na barra lateral) e clique em “Adicionar um gadget”.
Configure as páginas: No gadget “Páginas”, você pode escolher quais páginas do blog você deseja incluir no menu. Você pode adicionar novos links ou editar os existentes, de acordo com a Ajuda do Blogger.
Salvar e Visualizar: Salve as alterações e visualize o seu blog para ver o menu criado.
Para menus mais complexos:
Menu suspenso (submenu):
Criar um menu com submenus requer edição do HTML e CSS do seu tema. Para isso, você pode encontrar tutoriais online ou consultar recursos como o Blogger.com.
Menu personalizado:
É possível criar menus personalizados utilizando diferentes estilos e layouts, também através da edição do HTML e CSS do tema.
Dicas:
Considere o objetivo do seu blog e quais páginas são mais importantes para organizar o menu de forma intuitiva.
Use um design consistente para o menu, para que ele se harmonize com o restante do seu blog.
Tenho um site no blogger, gostaria de saber como colocar no menu lateral ima opcao por exemplo TESTE ao clicar nela ele expandira uma lista com todos as postagem que tenham uma tag expecifica.. compreendeu? Se sim e poder me ajudar, agradeço.