J’ai la div suivante
CSS
.description { color: #b4afaf; font-size: 10px; font-weight: normal; }
HTML
Some text here
Ensuite, j’ai une fonction de clic sur un élément pour masquer la div ci-dessus:
$('#target').click(function(){ $(".description").hide(); });
Quand je cache le div il va s’effondrer (arrêter de prendre n’importe quel espace). Cela perturbe la mise en page de ma page.
Y a-t-il un moyen de cacher le div mais de prendre l’espace qu’il occupait auparavant? Je ne veux pas changer la couleur de la police car elle serait toujours sélectionnable.
Merci
Utilisez la propriété css de visibilité pour cela
visibilité:
La propriété visible spécifie si les zones générées par un élément sont rendues.
$(".description").css('visibility', 'hidden');
Démo: violon
Et une autre option par souci d’exhaustivité. Basculer l’ opacity
:
$(".description").css('opacity', 0); // hide $(".description").css('opacity', 1); // show
Cependant, l’utilisation de la visibility
est préférable pour cette tâche.
Essayer:
$(".description").css("visibility", "hidden")
hide()
est l’équivalent de: $(".description").css("display", "none");
Qui ne réserve pas l’espace que l’élément prenait.
Hidden
rend l’élément invisible, mais réserve toujours l’espace.
Il est important de noter que l’exemple de dfsq utilisant Opacity: 0 permet toujours de sélectionner, copier / coller, etc., le contenu, bien qu’il n’y ait pas de surlignage visible lors de la sélection.
vous pouvez envelopper une autre div sur l’extérieur et lui dire probablement une hauteur spécifique à occuper. de cette façon, votre div interne peut afficher et masquer et fadeOut, etc., et le div externe tiendra l’immobilier sur la page.