texto ocultar mostrar hacer div desaparecer con css css3 html hover siblings

hacer - mostrar ocultar texto css



Mostrar y ocultar div con css (4)

Código HTML :

<a id="f">Show First content!</a> <br/> <a id="s">Show Second content!!</a> <div class="a">Default Content</div> <div class="ab hideDiv">First content</div> <div class="abc hideDiv">Second content</div>

Código de script:

$(document).ready(function() { $("#f").mouseover(function(){ $(''.a,.abc'').addClass(''hideDiv''); $(''.ab'').removeClass(''hideDiv''); }).mouseout(function() { $(''.a'').removeClass(''hideDiv''); $(''.ab,.abc'').addClass(''hideDiv''); }); $("#s").mouseover(function(){ $(''.a,.ab'').addClass(''hideDiv''); $(''.abc'').removeClass(''hideDiv''); }).mouseout(function() { $(''.a'').removeClass(''hideDiv''); $(''.ab,.abc'').addClass(''hideDiv''); }); });

código css:

.hideDiv { display:none; }

En mi script hay 3 div. Quiero mostrar div con clase ab cuando pase el mouse sobre la primera línea y visualice div con clase abc , cuando pase el mouse sobre la segunda línea. De lo contrario, quiero mostrar div con clase a por defecto.

Pero nunca muestra div con la clase a .

HTML:

<a id="f">Show First content!</a> <br/> <a id="s">Show Second content!!</a> <div class="a">Default Content</div> <div class="ab">First content</div> <div class="abc">Second content</div>

CSS:

.abc,.ab { display: none; } #f:hover ~ .ab { display: block; } #f:hover ~ .abc,.a { display: none; } #s:hover ~ .abc { display: block; } #s:hover ~ .ab,.a { display: none; }

Aquí está mi violín de mi problema http://jsfiddle.net/mridulpv/n5fzB/1/


Necesitas

.abc,.ab { display: none; } #f:hover ~ .ab { display: block; } #s:hover ~ .abc { display: block; } #s:hover ~ .a, #f:hover ~ .a{ display: none; }

Demostración actualizada en http://jsfiddle.net/gaby/n5fzB/2/

El problema en su CSS original era que , en los selectores de CSS comienza un selector completamente nuevo. no está combinado ... entonces #f:hover ~ .abc,.a significa #f:hover ~ .abc y .a . Usted configuró eso para display:none por lo que siempre estaba configurado para estar oculto para todos los elementos .a .


Para ocultar un elemento, use:

display: none; visibility: hidden;

Para mostrar un elemento, use:

display: block; visibility: visible;

La diferencia es:

La visibilidad maneja la visibilidad de la etiqueta, la display maneja el espacio que ocupa en la página.

Si configura la visibility y no cambia la display , incluso si las etiquetas no se ven, aún ocupa espacio.


puede usar cualquiera de las siguientes cinco formas de ocultar elemento, depende de sus requisitos.

Opacidad

.hide { opacity: 0; }

Visibilidad

.hide { visibility: hidden; }

Monitor

.hide { display: none; }

Posición

.hide { position: absolute; top: -9999px; left: -9999px; }

clip-path

.hide { clip-path: polygon(0px 0px,0px 0px,0px 0px,0px 0px); }

Para mostrar, utilice cualquiera de los siguientes: opacidad: 1; visibilidad: visible; bloqueo de pantalla;

Fuente: https://www.sitepoint.com/five-ways-to-hide-elements-in-css/