J'utilise visibility:hidden
pour masquer certains éléments, mais ils occupent toujours de l'espace sur la page lorsqu'ils sont masqués.
Comment puis-je les faire disparaître totalement visuellement, comme s'ils n'étaient pas du tout dans le DOM (mais sans les supprimer réellement du DOM)?
offsetTop
, etdisplay:none
je mettrais leoffsetTop
à 0. Ma solution ici était d'utiliservisibility: hidden
puis de définir la largeur et la hauteur à 0. Une fois que je devais rendre l'élément visible à nouveau, j'ai supprimé les trois attributs en utilisant Javascript. Un peu d'une solution hacky, mais cela fonctionne bien pour à peu près tous les cas d'utilisation.