Maison > interface Web > tutoriel CSS > Comment désactiver la barre de défilement du corps sans la masquer ?

Comment désactiver la barre de défilement du corps sans la masquer ?

Barbara Streisand
Libérer: 2024-12-08 17:28:14
original
897 Les gens l'ont consulté

How to Disable Body Scrollbar Without Hiding It?

Désactivation de la barre de défilement HTML/corps tout en préservant la visibilité

Pour une expérience Lightbox optimale, on peut souhaiter désactiver temporairement la barre de défilement de l'élément parent sans la masquer il. Pour y parvenir, envisagez l'approche suivante :

Corriger l'élément parent :

Lors de l'ouverture de la lightbox, attribuez les propriétés CSS suivantes à la page sous-jacente à la superposition :

body {
  position: fixed;
  overflow-y: scroll;
}
Copier après la connexion

Cela corrige la position de la page et limite le défilement vertical à la page elle-même, tout en conservant la barre de défilement. visibilité.

Réinitialiser à la fermeture de la Lightbox :

Lors de la fermeture de la lightbox, restaurez les propriétés CSS d'origine :

body {
  position: static;
  overflow-y: auto;
}
Copier après la connexion

Gestion des propriétés existantes Défilement :

Pour conserver la position de défilement actuelle de la page, utilisez JavaScript pour obtenir la valeur scrollTop du document avant d'ouvrir la lightbox et attribuez-la comme propriété supérieure de l'élément body :

.noscroll {
  position: fixed;
  top: var(--st, 0);
  inline-size: 100%;
  overflow-y: scroll;
}
Copier après la connexion
const b = document.body;
b.style.setProperty('--st', -(document.documentElement.scrollTop) + "px");
b.classList.add('noscroll');
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal