Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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

  • 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.