Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Preciso fazer um textdrop em html5 e css3. Basicamento isso:
> Pergunta 1
Ao clicar no Pergunta 1, aparecer um texto logo em baixo assim:
> Pergunta 1
>Resposta 1
Eu fiz o código, mas o texto desaparece rapidamente:
HTML:
<nav id="mainnav">
<ul class="wrapper-menu">
<li class="wrapper-dropdown">
<a>PERGUNTA</a>
<ul class="dropdown">
<li>Texto Resposta</li>
CSS:
#mainnav ul{
list-style: none;
}
#mainnav ul li{
padding:10px 15px;
background-color: whitesmoke;
}
.wrapper-menu{
position:relative;
}
.dropdown{
position:absolute;
left:0;
display:none;
}
.wrapper-dropdown:active > .dropdown{
display:block;
}>
7 hours ago, Maujor said:
@Mech
Troque :active por :hover
.wrapper-dropdown:hover > .dropdown{
display:block;
}
Eu queria usar o active, para mostrar a resposta só após o click.
Mas o active precisa clicar e segurar, mas eu queria criar algo do tipo que, ao clicar, ele continua à amosta mesmo depois de tirar o mouse, e só voltar depois de clicar novamente.
Eu queria fazer isso em javascript, mas eu ainda não sei javascript. Você tem alguma solução pra esse problema em css?Olá.
É possível fazer utilizando jQuery.
No HTML fiz algo bem simples, veja:
<div class="menu">
<h2>
Clique aqui
</h2>
<div class="texto">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nostrum perspiciatis nobis minima nulla, totam vitae impedit, dignissimos, suscipit est, eos eaque corporis. Commodi sunt, magnam? Et, aut reiciendis cum odio.
</div>
<h2>
Clique aqui
</h2>
<div class="texto">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nostrum perspiciatis nobis minima nulla, totam vitae impedit, dignissimos, suscipit est, eos eaque corporis. Commodi sunt, magnam? Et, aut reiciendis cum odio. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Laboriosam at fugit corporis mollitia repellat deleniti illum esse dicta deserunt nostrum sint ea aliquam, totam doloremque. Ea ipsam quam excepturi porro.
</div>
</div>
E no CSS apliquei uma classe padrão que fará os textos aparecerem.
.texto {
display: none;
}
.ativo {
display: block;
}
h2 {
cursor: pointer;
}
E no jQuery eu apliquei a função de ao clicar em um dos <h2>, abrir ou esconder o texto.
$("h2").on("click", function(){
$(this).next(".texto").toggleClass("ativo");
});
[Fiz um exemplo](https://jsfiddle.net/83pxkLtz/5/)Agradeço a ajuda, eu nem sei oque jquery ainda, estou ainda começando.
Mas eu fiz um código puro em javascript:
var mudar = document.getElementByClassName("butao");
function mostrartext() {
document.getElementByClassName("resposta").style.display = "block";
mudar.setAttribute('onclick', 'escondertext()');
}
function escondertext() {
document.getElementByClassName("resposta").style.display = "none";
mudar.setAttribute("onclick", "mostrartext()");
}
Pra quem quiser usa ta ai.
@Mech
Troque :active por :hover
.wrapper-dropdown:hover > .dropdown{