Dropdown com clique
Criei um HTML e CSS de um menu porém não consigo criar o Dropdown com clique, apenas quando passa o mouse o menu recolhe ou expande e eu gostaria de fazer com um clique. Agradeço desde já a ajuda.
*{ margin: 0; paddin: 0;}
body {background: ffffff; margin: 5px; }
#nav {margin: 0; padding: 0; }
#nav li {list-style: none; background: #fff; width: 250 px; border-bottom: 1px solid #666;}
#nav li a {display: block; padding: 8px; border-left: 4px solid #444; text-decoration: none; box-shadow: 2px 2px 5px #ccc; color: #555;}
#nav li a:hover {border-left:4px solid #069; background: #f8f8f8;}
#nav li ul{display: none;}
#nav li:hover ul { display: block; cursor:pointer;}
#nav li:hover ul li{background: #333;}
#nav li:hover ul li a {color:ccc;}
#nav li:hover ul li a:hover{background: #222; border-left:4px solid #900;}
<ul id="nav">
<li><a href="#">Consultores</a>
<ul>
<li><a href="#">sub - 1</a></li>
<li><a href="#">sub - 2</a></li>
<li><a href="#">sub - 3</a></li>
</ul>
</li>
<li><a href="#">Colaboradores</a></li>
<li><a href="#">Comercial</a></li>
<li><a href="#">RH</a></li>
</ul>
html css
New contributor
comentar |
Criei um HTML e CSS de um menu porém não consigo criar o Dropdown com clique, apenas quando passa o mouse o menu recolhe ou expande e eu gostaria de fazer com um clique. Agradeço desde já a ajuda.
*{ margin: 0; paddin: 0;}
body {background: ffffff; margin: 5px; }
#nav {margin: 0; padding: 0; }
#nav li {list-style: none; background: #fff; width: 250 px; border-bottom: 1px solid #666;}
#nav li a {display: block; padding: 8px; border-left: 4px solid #444; text-decoration: none; box-shadow: 2px 2px 5px #ccc; color: #555;}
#nav li a:hover {border-left:4px solid #069; background: #f8f8f8;}
#nav li ul{display: none;}
#nav li:hover ul { display: block; cursor:pointer;}
#nav li:hover ul li{background: #333;}
#nav li:hover ul li a {color:ccc;}
#nav li:hover ul li a:hover{background: #222; border-left:4px solid #900;}
<ul id="nav">
<li><a href="#">Consultores</a>
<ul>
<li><a href="#">sub - 1</a></li>
<li><a href="#">sub - 2</a></li>
<li><a href="#">sub - 3</a></li>
</ul>
</li>
<li><a href="#">Colaboradores</a></li>
<li><a href="#">Comercial</a></li>
<li><a href="#">RH</a></li>
</ul>
html css
New contributor
Está bem difícil de entender. Você consegue editar a pergunta e colocar o seu CSS como código? Adiciona o HTML também.
– DaviAragao
9 horas atrás
comentar |
Criei um HTML e CSS de um menu porém não consigo criar o Dropdown com clique, apenas quando passa o mouse o menu recolhe ou expande e eu gostaria de fazer com um clique. Agradeço desde já a ajuda.
*{ margin: 0; paddin: 0;}
body {background: ffffff; margin: 5px; }
#nav {margin: 0; padding: 0; }
#nav li {list-style: none; background: #fff; width: 250 px; border-bottom: 1px solid #666;}
#nav li a {display: block; padding: 8px; border-left: 4px solid #444; text-decoration: none; box-shadow: 2px 2px 5px #ccc; color: #555;}
#nav li a:hover {border-left:4px solid #069; background: #f8f8f8;}
#nav li ul{display: none;}
#nav li:hover ul { display: block; cursor:pointer;}
#nav li:hover ul li{background: #333;}
#nav li:hover ul li a {color:ccc;}
#nav li:hover ul li a:hover{background: #222; border-left:4px solid #900;}
<ul id="nav">
<li><a href="#">Consultores</a>
<ul>
<li><a href="#">sub - 1</a></li>
<li><a href="#">sub - 2</a></li>
<li><a href="#">sub - 3</a></li>
</ul>
</li>
<li><a href="#">Colaboradores</a></li>
<li><a href="#">Comercial</a></li>
<li><a href="#">RH</a></li>
</ul>
html css
New contributor
Criei um HTML e CSS de um menu porém não consigo criar o Dropdown com clique, apenas quando passa o mouse o menu recolhe ou expande e eu gostaria de fazer com um clique. Agradeço desde já a ajuda.
*{ margin: 0; paddin: 0;}
body {background: ffffff; margin: 5px; }
#nav {margin: 0; padding: 0; }
#nav li {list-style: none; background: #fff; width: 250 px; border-bottom: 1px solid #666;}
#nav li a {display: block; padding: 8px; border-left: 4px solid #444; text-decoration: none; box-shadow: 2px 2px 5px #ccc; color: #555;}
#nav li a:hover {border-left:4px solid #069; background: #f8f8f8;}
#nav li ul{display: none;}
#nav li:hover ul { display: block; cursor:pointer;}
#nav li:hover ul li{background: #333;}
#nav li:hover ul li a {color:ccc;}
#nav li:hover ul li a:hover{background: #222; border-left:4px solid #900;}
<ul id="nav">
<li><a href="#">Consultores</a>
<ul>
<li><a href="#">sub - 1</a></li>
<li><a href="#">sub - 2</a></li>
<li><a href="#">sub - 3</a></li>
</ul>
</li>
<li><a href="#">Colaboradores</a></li>
<li><a href="#">Comercial</a></li>
<li><a href="#">RH</a></li>
</ul>
*{ margin: 0; paddin: 0;}
body {background: ffffff; margin: 5px; }
#nav {margin: 0; padding: 0; }
#nav li {list-style: none; background: #fff; width: 250 px; border-bottom: 1px solid #666;}
#nav li a {display: block; padding: 8px; border-left: 4px solid #444; text-decoration: none; box-shadow: 2px 2px 5px #ccc; color: #555;}
#nav li a:hover {border-left:4px solid #069; background: #f8f8f8;}
#nav li ul{display: none;}
#nav li:hover ul { display: block; cursor:pointer;}
#nav li:hover ul li{background: #333;}
#nav li:hover ul li a {color:ccc;}
#nav li:hover ul li a:hover{background: #222; border-left:4px solid #900;}
<ul id="nav">
<li><a href="#">Consultores</a>
<ul>
<li><a href="#">sub - 1</a></li>
<li><a href="#">sub - 2</a></li>
<li><a href="#">sub - 3</a></li>
</ul>
</li>
<li><a href="#">Colaboradores</a></li>
<li><a href="#">Comercial</a></li>
<li><a href="#">RH</a></li>
</ul>
*{ margin: 0; paddin: 0;}
body {background: ffffff; margin: 5px; }
#nav {margin: 0; padding: 0; }
#nav li {list-style: none; background: #fff; width: 250 px; border-bottom: 1px solid #666;}
#nav li a {display: block; padding: 8px; border-left: 4px solid #444; text-decoration: none; box-shadow: 2px 2px 5px #ccc; color: #555;}
#nav li a:hover {border-left:4px solid #069; background: #f8f8f8;}
#nav li ul{display: none;}
#nav li:hover ul { display: block; cursor:pointer;}
#nav li:hover ul li{background: #333;}
#nav li:hover ul li a {color:ccc;}
#nav li:hover ul li a:hover{background: #222; border-left:4px solid #900;}
<ul id="nav">
<li><a href="#">Consultores</a>
<ul>
<li><a href="#">sub - 1</a></li>
<li><a href="#">sub - 2</a></li>
<li><a href="#">sub - 3</a></li>
</ul>
</li>
<li><a href="#">Colaboradores</a></li>
<li><a href="#">Comercial</a></li>
<li><a href="#">RH</a></li>
</ul>
html css
html css
New contributor
New contributor
editada 8 horas atrás
Sam
53,9mil113771
53,9mil113771
New contributor
perguntada 10 horas atrás
Victor RVictor R
161
161
New contributor
New contributor
Está bem difícil de entender. Você consegue editar a pergunta e colocar o seu CSS como código? Adiciona o HTML também.
– DaviAragao
9 horas atrás
comentar |
Está bem difícil de entender. Você consegue editar a pergunta e colocar o seu CSS como código? Adiciona o HTML também.
– DaviAragao
9 horas atrás
Está bem difícil de entender. Você consegue editar a pergunta e colocar o seu CSS como código? Adiciona o HTML também.
– DaviAragao
9 horas atrás
Está bem difícil de entender. Você consegue editar a pergunta e colocar o seu CSS como código? Adiciona o HTML também.
– DaviAragao
9 horas atrás
comentar |
3 Respostas
3
ativas
mais antigas
votos
Só com CSS você poderia usar um label
com checkbox
(oculto) apenas no botão que abre o submenu, em vez de usar um link <a>
. Ao usar um link <a>
com href="#"
apenas para abrir o submenu, irá alterar a URL adicionando o #
.
Ao clicar no label
irá marcar/desmarcar o checkbox, e você pode usar a pseudo-classe :checked
no checkbox para mostrar/ocultar o submenu. Coloque o input após o label e adicione um id
no checkbox e um for
na label apontando para a id
:
*{ margin: 0; padding: 0;}
body {background: ffffff; margin: 5px; }
#nav {margin: 0; padding: 0; }
#nav li {list-style: none; background: #fff; width: 250 px; border-bottom: 1px solid #666; outline: none;}
#nav li a, #nav li label {display: block; padding: 8px; border-left: 4px solid #444; text-decoration: none; box-shadow: 2px 2px 5px #ccc; color: #555; cursor: pointer;}
#nav li a:hover, #nav li label:hover {border-left:4px solid #069; background: #f8f8f8;}
#nav li ul, #nav li input{display: none;}
#nav li:hover ul li{background: #333;}
#nav li:hover ul li a {color:ccc;}
#nav li:hover ul li a:hover{background: #222; border-left:4px solid #900;}
#nav li input:checked + ul{
display: block; cursor:pointer;
}
<ul id="nav">
<li>
<label for="sub1">Consultores</label>
<input id="sub1" type="checkbox">
<ul>
<li><a href="#">sub - 1</a></li>
<li><a href="#">sub - 2</a></li>
<li><a href="#">sub - 3</a></li>
</ul>
</li>
<li><a href="#">Colaboradores</a></li>
<li><a href="#">Comercial</a></li>
<li><a href="#">RH</a></li>
</ul>
Tem um erro de digitação na primeira linha do seu CSS:
paddin
seria
padding
.
comentar |
Boa tarde, pelo que entendi você não está usando nenhum framework, neste caso de uma olhada nesse código, ele mostra como fazer, basta adaptar no seu código.
$(document).ready(function(){
$('div.dropdown').each(function() {
var $dropdown = $(this);
$("a.dropdown-link", $dropdown).click(function(e) {
e.preventDefault();
$div = $("div.dropdown-container", $dropdown);
$div.toggle();
$("div.dropdown-container").not($div).hide();
return false;
});
});
$('html').click(function(){
$("div.dropdown-container").hide();
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<div id="dropdown-1" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
<div id="dropdown-2" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
<div id="dropdown-3" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
Para funcionar será necessário importar jquery na sua aplicação.
só não edito seu código inteiro pq estou sem tempo, mas isso resolve.
Olá Renan, poderia postar uma parte do código aqui ou explicar melhor a resposta? É possível por um código executável na resposta no botão Trecho HTML/CSS/JavaScript ou com o atalho do tecladoCtrl + M
.
– Laércio Lopes
9 horas atrás
1
Editei, vê se assim fico melhor.
– Renan
9 horas atrás
comentar |
São várias as maneiras de fazer um dropdown com click, o Bootstrap um framework bastante conhecido faz isso de maneira simples. Veja em https://getbootstrap.com/docs/4.0/components/dropdowns/
A opção hover: a
é responsavel pela exibição ao passar o mouse sobre os links
Veja essa opção com Jquery no
Codepen
Olá @cairoofelipe, poderia postar uma parte do código aqui ou explicar melhor a resposta? É possível por um código executável na resposta no botão Trecho HTML/CSS/JavaScript ou com o atalho do tecladoCtrl + M
.
– Laércio Lopes
9 horas atrás
Mas vc quer importar o Bootstrap inteiro só pra usar essa função de collapse? Oh loko são quase 300kb mais o jQuery só pra um paradinha dessas....
– hugocsl
9 horas atrás
comentar |
Sua resposta
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "526"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Desenvolvido por u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Victor R é um usuário novo. Seja legal e dê uma olhada no nosso código de conduta
Registre-se ou faça log-in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Registre-se usando o Google
Registre-se usando o Facebook
Registre-se usando Email e Senha
Publicar como convidado
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fpt.stackoverflow.com%2fquestions%2f367600%2fdropdown-com-clique%23new-answer', 'question_page');
}
);
Publicar como convidado
Required, but never shown
3 Respostas
3
ativas
mais antigas
votos
3 Respostas
3
ativas
mais antigas
votos
ativas
mais antigas
votos
ativas
mais antigas
votos
Só com CSS você poderia usar um label
com checkbox
(oculto) apenas no botão que abre o submenu, em vez de usar um link <a>
. Ao usar um link <a>
com href="#"
apenas para abrir o submenu, irá alterar a URL adicionando o #
.
Ao clicar no label
irá marcar/desmarcar o checkbox, e você pode usar a pseudo-classe :checked
no checkbox para mostrar/ocultar o submenu. Coloque o input após o label e adicione um id
no checkbox e um for
na label apontando para a id
:
*{ margin: 0; padding: 0;}
body {background: ffffff; margin: 5px; }
#nav {margin: 0; padding: 0; }
#nav li {list-style: none; background: #fff; width: 250 px; border-bottom: 1px solid #666; outline: none;}
#nav li a, #nav li label {display: block; padding: 8px; border-left: 4px solid #444; text-decoration: none; box-shadow: 2px 2px 5px #ccc; color: #555; cursor: pointer;}
#nav li a:hover, #nav li label:hover {border-left:4px solid #069; background: #f8f8f8;}
#nav li ul, #nav li input{display: none;}
#nav li:hover ul li{background: #333;}
#nav li:hover ul li a {color:ccc;}
#nav li:hover ul li a:hover{background: #222; border-left:4px solid #900;}
#nav li input:checked + ul{
display: block; cursor:pointer;
}
<ul id="nav">
<li>
<label for="sub1">Consultores</label>
<input id="sub1" type="checkbox">
<ul>
<li><a href="#">sub - 1</a></li>
<li><a href="#">sub - 2</a></li>
<li><a href="#">sub - 3</a></li>
</ul>
</li>
<li><a href="#">Colaboradores</a></li>
<li><a href="#">Comercial</a></li>
<li><a href="#">RH</a></li>
</ul>
Tem um erro de digitação na primeira linha do seu CSS:
paddin
seria
padding
.
comentar |
Só com CSS você poderia usar um label
com checkbox
(oculto) apenas no botão que abre o submenu, em vez de usar um link <a>
. Ao usar um link <a>
com href="#"
apenas para abrir o submenu, irá alterar a URL adicionando o #
.
Ao clicar no label
irá marcar/desmarcar o checkbox, e você pode usar a pseudo-classe :checked
no checkbox para mostrar/ocultar o submenu. Coloque o input após o label e adicione um id
no checkbox e um for
na label apontando para a id
:
*{ margin: 0; padding: 0;}
body {background: ffffff; margin: 5px; }
#nav {margin: 0; padding: 0; }
#nav li {list-style: none; background: #fff; width: 250 px; border-bottom: 1px solid #666; outline: none;}
#nav li a, #nav li label {display: block; padding: 8px; border-left: 4px solid #444; text-decoration: none; box-shadow: 2px 2px 5px #ccc; color: #555; cursor: pointer;}
#nav li a:hover, #nav li label:hover {border-left:4px solid #069; background: #f8f8f8;}
#nav li ul, #nav li input{display: none;}
#nav li:hover ul li{background: #333;}
#nav li:hover ul li a {color:ccc;}
#nav li:hover ul li a:hover{background: #222; border-left:4px solid #900;}
#nav li input:checked + ul{
display: block; cursor:pointer;
}
<ul id="nav">
<li>
<label for="sub1">Consultores</label>
<input id="sub1" type="checkbox">
<ul>
<li><a href="#">sub - 1</a></li>
<li><a href="#">sub - 2</a></li>
<li><a href="#">sub - 3</a></li>
</ul>
</li>
<li><a href="#">Colaboradores</a></li>
<li><a href="#">Comercial</a></li>
<li><a href="#">RH</a></li>
</ul>
Tem um erro de digitação na primeira linha do seu CSS:
paddin
seria
padding
.
comentar |
Só com CSS você poderia usar um label
com checkbox
(oculto) apenas no botão que abre o submenu, em vez de usar um link <a>
. Ao usar um link <a>
com href="#"
apenas para abrir o submenu, irá alterar a URL adicionando o #
.
Ao clicar no label
irá marcar/desmarcar o checkbox, e você pode usar a pseudo-classe :checked
no checkbox para mostrar/ocultar o submenu. Coloque o input após o label e adicione um id
no checkbox e um for
na label apontando para a id
:
*{ margin: 0; padding: 0;}
body {background: ffffff; margin: 5px; }
#nav {margin: 0; padding: 0; }
#nav li {list-style: none; background: #fff; width: 250 px; border-bottom: 1px solid #666; outline: none;}
#nav li a, #nav li label {display: block; padding: 8px; border-left: 4px solid #444; text-decoration: none; box-shadow: 2px 2px 5px #ccc; color: #555; cursor: pointer;}
#nav li a:hover, #nav li label:hover {border-left:4px solid #069; background: #f8f8f8;}
#nav li ul, #nav li input{display: none;}
#nav li:hover ul li{background: #333;}
#nav li:hover ul li a {color:ccc;}
#nav li:hover ul li a:hover{background: #222; border-left:4px solid #900;}
#nav li input:checked + ul{
display: block; cursor:pointer;
}
<ul id="nav">
<li>
<label for="sub1">Consultores</label>
<input id="sub1" type="checkbox">
<ul>
<li><a href="#">sub - 1</a></li>
<li><a href="#">sub - 2</a></li>
<li><a href="#">sub - 3</a></li>
</ul>
</li>
<li><a href="#">Colaboradores</a></li>
<li><a href="#">Comercial</a></li>
<li><a href="#">RH</a></li>
</ul>
Tem um erro de digitação na primeira linha do seu CSS:
paddin
seria
padding
.
Só com CSS você poderia usar um label
com checkbox
(oculto) apenas no botão que abre o submenu, em vez de usar um link <a>
. Ao usar um link <a>
com href="#"
apenas para abrir o submenu, irá alterar a URL adicionando o #
.
Ao clicar no label
irá marcar/desmarcar o checkbox, e você pode usar a pseudo-classe :checked
no checkbox para mostrar/ocultar o submenu. Coloque o input após o label e adicione um id
no checkbox e um for
na label apontando para a id
:
*{ margin: 0; padding: 0;}
body {background: ffffff; margin: 5px; }
#nav {margin: 0; padding: 0; }
#nav li {list-style: none; background: #fff; width: 250 px; border-bottom: 1px solid #666; outline: none;}
#nav li a, #nav li label {display: block; padding: 8px; border-left: 4px solid #444; text-decoration: none; box-shadow: 2px 2px 5px #ccc; color: #555; cursor: pointer;}
#nav li a:hover, #nav li label:hover {border-left:4px solid #069; background: #f8f8f8;}
#nav li ul, #nav li input{display: none;}
#nav li:hover ul li{background: #333;}
#nav li:hover ul li a {color:ccc;}
#nav li:hover ul li a:hover{background: #222; border-left:4px solid #900;}
#nav li input:checked + ul{
display: block; cursor:pointer;
}
<ul id="nav">
<li>
<label for="sub1">Consultores</label>
<input id="sub1" type="checkbox">
<ul>
<li><a href="#">sub - 1</a></li>
<li><a href="#">sub - 2</a></li>
<li><a href="#">sub - 3</a></li>
</ul>
</li>
<li><a href="#">Colaboradores</a></li>
<li><a href="#">Comercial</a></li>
<li><a href="#">RH</a></li>
</ul>
Tem um erro de digitação na primeira linha do seu CSS:
paddin
seria
padding
.
*{ margin: 0; padding: 0;}
body {background: ffffff; margin: 5px; }
#nav {margin: 0; padding: 0; }
#nav li {list-style: none; background: #fff; width: 250 px; border-bottom: 1px solid #666; outline: none;}
#nav li a, #nav li label {display: block; padding: 8px; border-left: 4px solid #444; text-decoration: none; box-shadow: 2px 2px 5px #ccc; color: #555; cursor: pointer;}
#nav li a:hover, #nav li label:hover {border-left:4px solid #069; background: #f8f8f8;}
#nav li ul, #nav li input{display: none;}
#nav li:hover ul li{background: #333;}
#nav li:hover ul li a {color:ccc;}
#nav li:hover ul li a:hover{background: #222; border-left:4px solid #900;}
#nav li input:checked + ul{
display: block; cursor:pointer;
}
<ul id="nav">
<li>
<label for="sub1">Consultores</label>
<input id="sub1" type="checkbox">
<ul>
<li><a href="#">sub - 1</a></li>
<li><a href="#">sub - 2</a></li>
<li><a href="#">sub - 3</a></li>
</ul>
</li>
<li><a href="#">Colaboradores</a></li>
<li><a href="#">Comercial</a></li>
<li><a href="#">RH</a></li>
</ul>
*{ margin: 0; padding: 0;}
body {background: ffffff; margin: 5px; }
#nav {margin: 0; padding: 0; }
#nav li {list-style: none; background: #fff; width: 250 px; border-bottom: 1px solid #666; outline: none;}
#nav li a, #nav li label {display: block; padding: 8px; border-left: 4px solid #444; text-decoration: none; box-shadow: 2px 2px 5px #ccc; color: #555; cursor: pointer;}
#nav li a:hover, #nav li label:hover {border-left:4px solid #069; background: #f8f8f8;}
#nav li ul, #nav li input{display: none;}
#nav li:hover ul li{background: #333;}
#nav li:hover ul li a {color:ccc;}
#nav li:hover ul li a:hover{background: #222; border-left:4px solid #900;}
#nav li input:checked + ul{
display: block; cursor:pointer;
}
<ul id="nav">
<li>
<label for="sub1">Consultores</label>
<input id="sub1" type="checkbox">
<ul>
<li><a href="#">sub - 1</a></li>
<li><a href="#">sub - 2</a></li>
<li><a href="#">sub - 3</a></li>
</ul>
</li>
<li><a href="#">Colaboradores</a></li>
<li><a href="#">Comercial</a></li>
<li><a href="#">RH</a></li>
</ul>
respondida 8 horas atrás
SamSam
53,9mil113771
53,9mil113771
comentar |
comentar |
Boa tarde, pelo que entendi você não está usando nenhum framework, neste caso de uma olhada nesse código, ele mostra como fazer, basta adaptar no seu código.
$(document).ready(function(){
$('div.dropdown').each(function() {
var $dropdown = $(this);
$("a.dropdown-link", $dropdown).click(function(e) {
e.preventDefault();
$div = $("div.dropdown-container", $dropdown);
$div.toggle();
$("div.dropdown-container").not($div).hide();
return false;
});
});
$('html').click(function(){
$("div.dropdown-container").hide();
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<div id="dropdown-1" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
<div id="dropdown-2" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
<div id="dropdown-3" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
Para funcionar será necessário importar jquery na sua aplicação.
só não edito seu código inteiro pq estou sem tempo, mas isso resolve.
Olá Renan, poderia postar uma parte do código aqui ou explicar melhor a resposta? É possível por um código executável na resposta no botão Trecho HTML/CSS/JavaScript ou com o atalho do tecladoCtrl + M
.
– Laércio Lopes
9 horas atrás
1
Editei, vê se assim fico melhor.
– Renan
9 horas atrás
comentar |
Boa tarde, pelo que entendi você não está usando nenhum framework, neste caso de uma olhada nesse código, ele mostra como fazer, basta adaptar no seu código.
$(document).ready(function(){
$('div.dropdown').each(function() {
var $dropdown = $(this);
$("a.dropdown-link", $dropdown).click(function(e) {
e.preventDefault();
$div = $("div.dropdown-container", $dropdown);
$div.toggle();
$("div.dropdown-container").not($div).hide();
return false;
});
});
$('html').click(function(){
$("div.dropdown-container").hide();
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<div id="dropdown-1" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
<div id="dropdown-2" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
<div id="dropdown-3" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
Para funcionar será necessário importar jquery na sua aplicação.
só não edito seu código inteiro pq estou sem tempo, mas isso resolve.
Olá Renan, poderia postar uma parte do código aqui ou explicar melhor a resposta? É possível por um código executável na resposta no botão Trecho HTML/CSS/JavaScript ou com o atalho do tecladoCtrl + M
.
– Laércio Lopes
9 horas atrás
1
Editei, vê se assim fico melhor.
– Renan
9 horas atrás
comentar |
Boa tarde, pelo que entendi você não está usando nenhum framework, neste caso de uma olhada nesse código, ele mostra como fazer, basta adaptar no seu código.
$(document).ready(function(){
$('div.dropdown').each(function() {
var $dropdown = $(this);
$("a.dropdown-link", $dropdown).click(function(e) {
e.preventDefault();
$div = $("div.dropdown-container", $dropdown);
$div.toggle();
$("div.dropdown-container").not($div).hide();
return false;
});
});
$('html').click(function(){
$("div.dropdown-container").hide();
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<div id="dropdown-1" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
<div id="dropdown-2" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
<div id="dropdown-3" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
Para funcionar será necessário importar jquery na sua aplicação.
só não edito seu código inteiro pq estou sem tempo, mas isso resolve.
Boa tarde, pelo que entendi você não está usando nenhum framework, neste caso de uma olhada nesse código, ele mostra como fazer, basta adaptar no seu código.
$(document).ready(function(){
$('div.dropdown').each(function() {
var $dropdown = $(this);
$("a.dropdown-link", $dropdown).click(function(e) {
e.preventDefault();
$div = $("div.dropdown-container", $dropdown);
$div.toggle();
$("div.dropdown-container").not($div).hide();
return false;
});
});
$('html').click(function(){
$("div.dropdown-container").hide();
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<div id="dropdown-1" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
<div id="dropdown-2" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
<div id="dropdown-3" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
Para funcionar será necessário importar jquery na sua aplicação.
só não edito seu código inteiro pq estou sem tempo, mas isso resolve.
$(document).ready(function(){
$('div.dropdown').each(function() {
var $dropdown = $(this);
$("a.dropdown-link", $dropdown).click(function(e) {
e.preventDefault();
$div = $("div.dropdown-container", $dropdown);
$div.toggle();
$("div.dropdown-container").not($div).hide();
return false;
});
});
$('html').click(function(){
$("div.dropdown-container").hide();
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<div id="dropdown-1" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
<div id="dropdown-2" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
<div id="dropdown-3" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
$(document).ready(function(){
$('div.dropdown').each(function() {
var $dropdown = $(this);
$("a.dropdown-link", $dropdown).click(function(e) {
e.preventDefault();
$div = $("div.dropdown-container", $dropdown);
$div.toggle();
$("div.dropdown-container").not($div).hide();
return false;
});
});
$('html').click(function(){
$("div.dropdown-container").hide();
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<div id="dropdown-1" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
<div id="dropdown-2" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
<div id="dropdown-3" class="dropdown dropdown-processed">
<a class="dropdown-link" href="#">Options</a>
<div class="dropdown-container" style="display: none;">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
</div>
editada 9 horas atrás
respondida 9 horas atrás
RenanRenan
44615
44615
Olá Renan, poderia postar uma parte do código aqui ou explicar melhor a resposta? É possível por um código executável na resposta no botão Trecho HTML/CSS/JavaScript ou com o atalho do tecladoCtrl + M
.
– Laércio Lopes
9 horas atrás
1
Editei, vê se assim fico melhor.
– Renan
9 horas atrás
comentar |
Olá Renan, poderia postar uma parte do código aqui ou explicar melhor a resposta? É possível por um código executável na resposta no botão Trecho HTML/CSS/JavaScript ou com o atalho do tecladoCtrl + M
.
– Laércio Lopes
9 horas atrás
1
Editei, vê se assim fico melhor.
– Renan
9 horas atrás
Olá Renan, poderia postar uma parte do código aqui ou explicar melhor a resposta? É possível por um código executável na resposta no botão Trecho HTML/CSS/JavaScript ou com o atalho do teclado
Ctrl + M
.– Laércio Lopes
9 horas atrás
Olá Renan, poderia postar uma parte do código aqui ou explicar melhor a resposta? É possível por um código executável na resposta no botão Trecho HTML/CSS/JavaScript ou com o atalho do teclado
Ctrl + M
.– Laércio Lopes
9 horas atrás
1
1
Editei, vê se assim fico melhor.
– Renan
9 horas atrás
Editei, vê se assim fico melhor.
– Renan
9 horas atrás
comentar |
São várias as maneiras de fazer um dropdown com click, o Bootstrap um framework bastante conhecido faz isso de maneira simples. Veja em https://getbootstrap.com/docs/4.0/components/dropdowns/
A opção hover: a
é responsavel pela exibição ao passar o mouse sobre os links
Veja essa opção com Jquery no
Codepen
Olá @cairoofelipe, poderia postar uma parte do código aqui ou explicar melhor a resposta? É possível por um código executável na resposta no botão Trecho HTML/CSS/JavaScript ou com o atalho do tecladoCtrl + M
.
– Laércio Lopes
9 horas atrás
Mas vc quer importar o Bootstrap inteiro só pra usar essa função de collapse? Oh loko são quase 300kb mais o jQuery só pra um paradinha dessas....
– hugocsl
9 horas atrás
comentar |
São várias as maneiras de fazer um dropdown com click, o Bootstrap um framework bastante conhecido faz isso de maneira simples. Veja em https://getbootstrap.com/docs/4.0/components/dropdowns/
A opção hover: a
é responsavel pela exibição ao passar o mouse sobre os links
Veja essa opção com Jquery no
Codepen
Olá @cairoofelipe, poderia postar uma parte do código aqui ou explicar melhor a resposta? É possível por um código executável na resposta no botão Trecho HTML/CSS/JavaScript ou com o atalho do tecladoCtrl + M
.
– Laércio Lopes
9 horas atrás
Mas vc quer importar o Bootstrap inteiro só pra usar essa função de collapse? Oh loko são quase 300kb mais o jQuery só pra um paradinha dessas....
– hugocsl
9 horas atrás
comentar |
São várias as maneiras de fazer um dropdown com click, o Bootstrap um framework bastante conhecido faz isso de maneira simples. Veja em https://getbootstrap.com/docs/4.0/components/dropdowns/
A opção hover: a
é responsavel pela exibição ao passar o mouse sobre os links
Veja essa opção com Jquery no
Codepen
São várias as maneiras de fazer um dropdown com click, o Bootstrap um framework bastante conhecido faz isso de maneira simples. Veja em https://getbootstrap.com/docs/4.0/components/dropdowns/
A opção hover: a
é responsavel pela exibição ao passar o mouse sobre os links
Veja essa opção com Jquery no
Codepen
respondida 9 horas atrás
cairoofelipecairoofelipe
2717
2717
Olá @cairoofelipe, poderia postar uma parte do código aqui ou explicar melhor a resposta? É possível por um código executável na resposta no botão Trecho HTML/CSS/JavaScript ou com o atalho do tecladoCtrl + M
.
– Laércio Lopes
9 horas atrás
Mas vc quer importar o Bootstrap inteiro só pra usar essa função de collapse? Oh loko são quase 300kb mais o jQuery só pra um paradinha dessas....
– hugocsl
9 horas atrás
comentar |
Olá @cairoofelipe, poderia postar uma parte do código aqui ou explicar melhor a resposta? É possível por um código executável na resposta no botão Trecho HTML/CSS/JavaScript ou com o atalho do tecladoCtrl + M
.
– Laércio Lopes
9 horas atrás
Mas vc quer importar o Bootstrap inteiro só pra usar essa função de collapse? Oh loko são quase 300kb mais o jQuery só pra um paradinha dessas....
– hugocsl
9 horas atrás
Olá @cairoofelipe, poderia postar uma parte do código aqui ou explicar melhor a resposta? É possível por um código executável na resposta no botão Trecho HTML/CSS/JavaScript ou com o atalho do teclado
Ctrl + M
.– Laércio Lopes
9 horas atrás
Olá @cairoofelipe, poderia postar uma parte do código aqui ou explicar melhor a resposta? É possível por um código executável na resposta no botão Trecho HTML/CSS/JavaScript ou com o atalho do teclado
Ctrl + M
.– Laércio Lopes
9 horas atrás
Mas vc quer importar o Bootstrap inteiro só pra usar essa função de collapse? Oh loko são quase 300kb mais o jQuery só pra um paradinha dessas....
– hugocsl
9 horas atrás
Mas vc quer importar o Bootstrap inteiro só pra usar essa função de collapse? Oh loko são quase 300kb mais o jQuery só pra um paradinha dessas....
– hugocsl
9 horas atrás
comentar |
Victor R é um usuário novo. Seja legal e dê uma olhada no nosso código de conduta
Victor R é um usuário novo. Seja legal e dê uma olhada no nosso código de conduta
Victor R é um usuário novo. Seja legal e dê uma olhada no nosso código de conduta
Victor R é um usuário novo. Seja legal e dê uma olhada no nosso código de conduta
Obrigado por contribuir com o Stack Overflow em Português!
- Certifique-se de responder à pergunta. Entre em detalhes sobre a sua solução e compartilhe o que você descobriu.
Mas evite …
- Pedir esclarecimentos ou detalhes sobre outras respostas.
- Fazer afirmações baseadas apenas na sua opinião; aponte referências ou experiências anteriores.
Para aprender mais, veja nossas dicas sobre como escrever boas respostas.
Registre-se ou faça log-in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Registre-se usando o Google
Registre-se usando o Facebook
Registre-se usando Email e Senha
Publicar como convidado
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fpt.stackoverflow.com%2fquestions%2f367600%2fdropdown-com-clique%23new-answer', 'question_page');
}
);
Publicar como convidado
Required, but never shown
Registre-se ou faça log-in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Registre-se usando o Google
Registre-se usando o Facebook
Registre-se usando Email e Senha
Publicar como convidado
Required, but never shown
Registre-se ou faça log-in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Registre-se usando o Google
Registre-se usando o Facebook
Registre-se usando Email e Senha
Publicar como convidado
Required, but never shown
Registre-se ou faça log-in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Registre-se usando o Google
Registre-se usando o Facebook
Registre-se usando Email e Senha
Registre-se usando o Google
Registre-se usando o Facebook
Registre-se usando Email e Senha
Publicar como convidado
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Está bem difícil de entender. Você consegue editar a pergunta e colocar o seu CSS como código? Adiciona o HTML também.
– DaviAragao
9 horas atrás