Ir para conteúdo
s3c0

Menu Suspenso

Recommended Posts

Olá pessoal,

 

peguei um exemplo de um menu suspenso que utiliza somente CSS, porém não estou conseguindo adaptar para a minha aplicação.

 

Segue abaixo:

 

* {
  box-sizing: border-box;
}

body {
  margin: 0;
}
/*Configurações Padrões*/
ul.menu, .menu li, .menu a{ margin:0; padding:0; list-style:none; text-decoration:none; width:100%; }
ul.menu ul{ position:absolute; display:none;}
 
/* Configurações nivel 1*/
ul.menu{ float:left; font-family:Verdana, Geneva, sans-serif; font-size:15px; padding:0 5px;}
.menu li{ float:left; width:auto; position:relative;}
.menu li a{ display:block; padding:0 20px; line-height:45px; height:45px; float:left; width:240px; transition:all 0.1s linear;  }
 
/* Configurações nivel 2*/
.menu li:hover > ul.submenu-1{ display:block; top:45px; left:0; padding:0px; width:250px;  }
.menu ul.submenu-1 a{ padding:0 20px; width:250px;  }
 
/* Configurações nivel 2*/
.menu li:hover > ul.submenu-2{ display:block; top:0; padding:0px; width:250px; left:240px;  }
.menu ul.submenu-2 a{  width:250px; padding:0 20px;  }
 
/* Configurações nivel 3*/
.menu li:hover > ul.submenu-3{ display:block; top:0; padding:0px; width:250px; left:240px;  }
.menu ul.submenu-3 a{  width:250px; padding:0 20px;  }
 
.column1 {
  float: left;
  width: 250px;
  padding: 10px;
  min-height: 250px;
}

.column1 a {
  float: none;
  color: black;
  padding: 16px;
  text-decoration: none;
  display: block;
  text-align: left;
}

.column1 a:hover {
}
 
.column4 {
  float: right;
  width: 300px;
  padding: 10px;
  min-height: 250px;
  position:relative;
  top:0px;
}

.column4 a {
  float: none;
  color: black;
  padding: 16px;
  text-decoration: none;
  display: block;
  text-align: left;
}

.column4 a:hover {
}

.row:after {
  content: "";
  display: table;
  clear: both;
} 
 
/*Configurações de cores*/
 
/*nivel 1*/
.menu{background:#CCC; }
.menu a{ color:#000; }
.menu li:hover > a{ color:#000; }
 
/*nivel 2*/
.submenu-1{}
.submenu-1 a{color:#000;}
.submenu-1 li:hover > a{ color:#000; }
 
/*nivel 3*/
.submenu-2{ }
.submenu-2 a{color:#000;};
.submenu-2 li:hover > a{ color:#000; }
 
/*nivel 3*/
.submenu-3{ }
.submenu-3 a{color:#000;}
.submenu-3 li:hover > a{ color:#000; }
 
 

 

<ul class="menu"> <!-- Esse é o 1 nivel ou o nivel principal -->
    <li><a href="#">Categorias <i class="fa fa-caret-down"></i></a>		
        <ul class="submenu-1"> <!-- Esse é o 2 nivel ou o primeiro Drop Down -->
            <li><a href="#">Departamento 1 <i class="fa fa-caret-right"></i></a>
                    <ul class="submenu-2"> <!-- Esse é o 3 nivel ou o Segundo Drop Down -->
                        <li><a href="#">Categoria 1</a></li>
                        <li><a href="#">Categoria 11</a></li>
                        <li><a href="#">Categoria 111 <i class="fa fa-caret-right"></i></a>
                                    <ul class="submenu-3"> <!-- Esse é o 4 nivel ou o Terceiro Drop Down -->
                                            <li><a href="#">Subcategoria 1</a></li>
                                            <li><a href="#">Subcategoria 11</a></li>
                                            <li><a href="#">Subcategoria 111</a></li>
                                    </ul>
                        </li>
                    </ul>
             </li>
			  <li><a href="#">Departamento 2 <i class="fa fa-caret-right"></i></a>
                    <ul class="submenu-2"> <!-- Esse é o 3 nivel ou o Segundo Drop Down -->
                        <li><a href="#">Categoria 1</a></li>
                        <li><a href="#">Categoria 11</a></li>
                        <li><a href="#">Categoria 111 <i class="fa fa-caret-right"></i></a>
                                    <ul class="submenu-3"> <!-- Esse é o 4 nivel ou o Terceiro Drop Down -->
                                            <li><a href="#">Subcategoria 1</a></li>
                                            <li><a href="#">Subcategoria 11</a></li>
                                            <li><a href="#">Subcategoria 111</a></li>
                                    </ul>
                        </li>
                    </ul>
             </li>
        </ul>
    </li>
</ul>

 

A primeira imagem é o resultado e a segunda imagem, seria o que estou querendo fazer.

 

Alguém consegue me explicar o que está de errado?

 

Agradeço a atenção de todos!

menu1.jpg

menu2.jpg

Compartilhar este post


Link para o post
Compartilhar em outros sites
<ul class="menu"> <!-- Esse é o 1 nivel ou o nivel principal -->
    <li><a href="#">Categorias <i class="fa fa-caret-down"></i></a>		
        <ul class="submenu-1"> <!-- Esse é o 2 nivel ou o primeiro Drop Down -->
            <li><a href="#">Departamento 1 <i class="fa fa-caret-right"></i></a>
                    <ul class="submenu-2"> <!-- Esse é o 3 nivel ou o Segundo Drop Down -->
                        <li><a href="#">Categoria 1</a></li>
                        <li><a href="#">Categoria 11</a></li>
                        <li><a href="#">Categoria 111 <i class="fa fa-caret-right"></i></a>
                                    <ul style="top: -88px;" class="submenu-3"> <!-- Esse é o 4 nivel ou o Terceiro Drop Down -->
                                            <li><a href="#">Subcategoria 1</a></li>
                                            <li><a href="#">Subcategoria 11</a></li>
                                            <li><a href="#">Subcategoria 111</a></li>
                                    </ul>
                        </li>
                    </ul>
             </li>
			  <li><a href="#">Departamento 2 <i class="fa fa-caret-right"></i></a>
                    <ul style="top: -45px;" class="submenu-2"> <!-- Esse é o 3 nivel ou o Segundo Drop Down -->
                        <li><a href="#">Categoria 1</a></li>
                        <li><a href="#">Categoria 11</a></li>
                        <li><a href="#">Categoria 111 <i class="fa fa-caret-right"></i></a>
                                    <ul style="top: -88px;" class="submenu-3"> <!-- Esse é o 4 nivel ou o Terceiro Drop Down -->
                                            <li><a href="#">Subcategoria 1</a></li>
                                            <li><a href="#">Subcategoria 11</a></li>
                                            <li><a href="#">Subcategoria 111</a></li>
                                    </ul>
                        </li>
                    </ul>
             </li>
        </ul>
    </li>
</ul>

ft1.png.6dd05eee1c627064f521d82792ec66d8.png

 

@s3c0 é isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Megao obrigado pela resposta.

 

É quase isso. 

 

Se você adicionar mais "departamentos", os demais não ficam no "topo" do menu.

 

Percebi que você especificou a margem TOP tanto do ul como do li, mas não teria como fazer automático? Supondo que não sabemos quando "departamentos" serão adicionados.

 

E na segunda imagem que adicionei, tem uma faixa azul, que seria o fundo do menu.

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, s3c0 disse:

Percebi que você especificou a margem TOP tanto do ul como do li, mas não teria como fazer automático? Supondo que não sabemos quando "departamentos" serão adicionados.

Eu editei somente o código HTML, pois meu tempo atualmente está escasso, ou seja; não me sobra tempo para interpretar o CSS da tua página.

1 hora atrás, s3c0 disse:

E na segunda imagem que adicionei, tem uma faixa azul, que seria o fundo do menu.

Não entendi muito bem. Tu quer que o fundo azul apareça junto com as categorias ou fique ali de maneira fixa?

https://www.w3schools.com/css/css_background.asp

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá @Megao obrigado pela ajuda.

 

"Consegui" fazer o tão esperado modelo do menu, porém não consigo finalizar da forma que gostaria.

 

Em anexo, o menu "funcionando", porém o que não estou conseguindo fazer:

 

* A altura da DIV PAI seguir com a altura das DIV´s filho;
* A altura das DIV´s filho (coluna 2 e 3) também não possui altura referente a DIV PAI ou coluna1;

* A imagem ("banner") não fica no topo do menu

 

Segue códigos:

 

.i9-menu{position:absolute;z-index:102;top:auto;display:none;text-align:left;margin-top:15px;border:1px solid #d0d0d0;border-radius:3px; }
.i9-menu a{display: inline-block;}
.ul-menu{list-style-type: none; padding:20px 10px; position:absolute;background-color:#fff;box-shadow:0 1px 10px rgba(0,0,0,.1);width:1170px;margin-left:-19px;display:inline-block;float:left; height:auto; }
.li-menu{color:#000;list-style-type: none; font-size:14px;font-weight: bold; padding:5px; width:152px;}
.navPages-item:hover .i9-menu{display:block;}

#navPages ul li{list-style-type:none;}
#navPages ul li a{text-decoration:none;}
#navPages ul li a:hover{background-color:#ccc;width:152px;}
#navPages ul li > ul{display:none;}
#navPages ul li:hover > ul {display:block;margin-left: 152px;position:absolute;top:0px;padding:25px 30px ;}

 

<div class="navPages-container" id="menu" data-menu>
        <div class="container">
            <nav class="navPages" style="text-align:left;">
				<ul class="navPages-list">
					<li class="navPages-item">
						<a class="navPages-action has-subMenu" href=""><i class="fa fa-list"></i> Categorias</a>
						<div class="i9-menu" id="navPages" tabindex="-1">
							<ul class="ul-menu">
								<li class="li-menu">
									<div><a class="navPage-subMenu-action navPages-action has-subMenu" href="glamourishtml">
										<i class="fa fa-list"></i> <span>Glamouris</span> <i class="fas fa-angle-right" style="float:right; margin-right:10px;line-height:20px;"></i>
										</a>
									</div>
										<ul>
											<li><a href="#">item</a></li>
											<li><a href="#">item</a></li>
											<li><a href="#">item</a></li>
											<li><a href="#">item</a></li>
											<li><a href="#">item</a></li>
											<li><a href="#">item</a></li>
											<li><a href="#">item</a></li>
											<li><a href="#">item</a></li>
											<li><a href="#">item</a></li>
											<li><a href="#">item</a></li>
											<li><a href="#">item</a></li>
											<li><a href="#">item</a></li>
											<li><a href="#">item</a>
												<ul>
													<li><a href="#">item</a></li>
													<li><a href="#">item</a></li>
													<li><a href="#">item</a></li>
													<li><a href="#">item</a></li>
													<li><a href="#">item</a></li>
												</ul>
											</li>
										</ul>	
								</li>
								<li class="li-menu">
									    <div><a class="navPage-subMenu-action navPages-action has-subMenu" href="glamouris.html">
										<i class="fa fa-list"></i> <span>Glamouris</span> <i class="fas fa-angle-right" style="float:right; margin-right:10px;line-height:20px;"></i>
										</a>
									</div>
								</li>
								<li class="li-menu">
									    <div><a class="navPage-subMenu-action navPages-action has-subMenu" href="glamouris.html">
										<i class="fa fa-list"></i> <span>Glamouris</span> <i class="fas fa-angle-right" style="float:right; margin-right:10px;line-height:20px;"></i>
										</a>
									</div>
								</li>
							<div style="float: right; margin-right: 0; width:350px; text-align:center; postion:relative; margin-top:0px;">
								<img src="departamentos/departamentos.jpg" name="categoria" style="border: 1px; solid transparent; border-radius: 3px; width:350px;">
							</div>
							</ul>
						</div>
					</li>
				</ul>
			</nav>
        </div>
</div>

 

O que estaria de errado com o código?

menu1.png

menu2.png

menu3.png

menu4.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por juliosonic
      Boa noite..
      Estou desenvolvendo um site de https://www.maithunatantra.com.br/ e estou com um duvida sobre o menu de navegação da versão mobile.
      O menu que tem o dropdown "Terapeutas" e "Terapias" quando clico em cima ele expande como deve ser, mas quando clico denovo para recolher os submenus
      nao acontece nada.. segue o trecho do codigo do menu..
      <div class="collapse navbar-collapse" id="navbarsExample09">             <ul class="navbar-nav ml-auto">               <li class="nav-item  active"><a class="nav-link" href="index.html">Home</a></li>               <li class="nav-item  active"><a class="nav-link" href="about-us.html">Quem Somos</a></li>               <li class="nav-item dropdown1">                     <a class="nav-link dropdown-toggle" data-toggle="dropdown1" href="#">Terapeutas</a>                     <ul class="dropdown-menu">                         <li><a class="dropdown-item" href="terapeuta-julio-cezar.html">Julio Cezar</a></li>                         <li><a class="dropdown-item" href="terapeuta-pamela-priscila.html">Pamela Priscila</a></li>                     </ul>                                    </li>               <li class="nav-item dropdown">                     <a class="nav-link dropdown-toggle" data-toggle="dropdown1" href="#">Terapias</a>                     <ul class="dropdown-menu" aria-labelledby="dropdown01">                         <li><a class="dropdown-item" href="o-que-e-reiki.html">O que é Reiki</a></li>                         <li><a class="dropdown-item" href="beneficios-reiki.html">Benefícios do Reiki</a></li>                         <li><a class="dropdown-item" href="principios-reiki.html">Princípios do Reiki</a></li>                         <li><a class="dropdown-item" href="animais-reiki.html">Reiki em Animais</a></li>                         <li><a class="dropdown-item" href="animais-reiki.html">Estudos Sobre Reiki</a></li>                         <li><a class="dropdown-item" href="terapia-massagem-tantrica.html">Terapia Tântrica</a></li>                     </ul>               </li>               <li class="nav-item  active"><a class="nav-link" href="blog.html">Blog</a></li>                <li class="nav-item"><a class="nav-link" href="contato.html">Contato</a></li>             </ul>         </div>  
      Massagem Tantrica em Curitiba
      Tantra Curitiba
      Massagem Tântrica
      Tantra
      Julio Darshan

      Obrigado
      Att
      Julio Cezar
       
       
       
    • Por Felipe Medeiros
      Bom, criei um tema filho e o que aprendi é que para alterar qualquer coisa do tema filho eu preciso copiar o arquivo do tema pai o colocar dentro da pasta do tema filho.
       
      No meu caso, estou usando o tema "Astra" bem famosinho. O arquivo css que quero modificar não está dentro da pasta do tema pai, está em "wp-content/uploads/uag-plugin/assets/0/uag-css-10.css" sendo que o diretorio do tema pai é "wp-content/themes/Astra"
       
      O problema é o seguinte, preciso modificar a barra de pesquisa da pagina inicial, porem o inspetor de elementos do chrome ta acusando que esse arquivo é o responsavel por estilizar a barra de pesquisa. Será que isso tem a ver com "Cache de objetos", eu sei que o plugin liteSpeed Cache, AMP, Rank Math, todos eles tem essas paradas de criar arquivos css e js para tornar o site mais rapido.
    • Por Alessandro Bodão
      Fala galerinha, 
       
      Tenho um container com um título (h1) no cabeçalho do meu site, esse container ocupa metade da tela (50vw), e eu gostaria que esse título ocupasse toda a largura desse container, independente do seu tamanho ou do tamanho do monitor, de forma com que a palavra tenha exactamente o mesmo tamanho do container (vou anexar uma foto de exemplo). Já tentei todos os valores pra essa h1, como % e vw... mas nada parece fazer sentido.
       
       

    • Por FabianoSouza
      Gente, tenho as TRs da minha tabele já com os cantos arredondados (através das TDs first-child e last-child). Fiz dessa forma porque desconheço uma maneira de aplicar radius diretamente na TR.
       
      O problema é que ao colorir a TR com o over do CSS, perde-se a formatação do border radius das TDs e exibe a TR com os cantos quadrados.
       
      Preciso que os cantos fiquem arredondados mesmo ao passar o mouse sobre a TR.
       
      Como resolvo isso?
    • Por viniciusfroner
      Tenho um pequeno sistema de envio, estou utilizando o "PHPMailerAutoload". Após o usuário inserir as informações e clicar em enviar a mensagem é enviada com sucesso, o único problema é que apresentado ao usuário a seguinte mensagem:
      if ($enviado){ echo "E-mail enviado com sucesso!"; } else { echo "Não foi possível enviar o e-mail."; echo "<b>Informações do erro:</b> " . $msg->ErrorInfo; } Acabei procurando e não achei como posso remover a mensagem "Error:"
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.