Maison > interface Web > tutoriel CSS > Comment puis-je désactiver les barres de défilement sans les masquer dans le développement Web ?

Comment puis-je désactiver les barres de défilement sans les masquer dans le développement Web ?

Linda Hamilton
Libérer: 2024-12-03 09:24:10
original
774 Les gens l'ont consulté

How Can I Disable Scrollbars Without Hiding Them in Web Development?

Désactiver les barres de défilement sans les masquer

En développement Web, il est parfois nécessaire de désactiver les barres de défilement sur un élément parent lors de l'utilisation d'une lightbox. Cependant, masquer simplement les barres de défilement à l'aide de overflow: Hidden est souvent indésirable, car cela peut faire sauter le site et occuper l'espace où se trouvait la barre de défilement.

Il existe une solution viable qui permet de désactiver les barres de défilement tout en continuant à afficher. eux. Si la page sous la lightbox peut être positionnée en haut, vous pouvez utiliser le code CSS suivant :

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

Cela affichera la barre de défilement mais empêchera le défilement du contenu. Pour restaurer les barres de défilement après la fermeture de la lightbox, rétablissez simplement ces propriétés :

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

Cette approche ne nécessite aucune modification des événements de défilement.

Adressage des positions de défilement préexistantes

Si la page défile déjà avant l'ouverture de la lightbox, vous pouvez récupérer la position de défilement actuelle via JavaScript et l'attribuer comme propriété supérieure de l’élément corps. Cela maintiendra la position de défilement actuelle pendant l'utilisation de la lightbox.

CSS

.noscroll {
  position: fixed; 
  top: var(--st, 0);
  inline-size: 100%;
  overflow-y:scroll; 
}
Copier après la connexion

JavaScript

const b = document.body;
b.style.setProperty('--st', -(document.documentElement.scrollTop) + "px");
b.classList.add('noscroll');
Copier après la connexion

Par En mettant en œuvre cette solution, vous pouvez désactiver efficacement les barres de défilement sans les masquer, préservant ainsi la présentation visuelle prévue de votre page Web.

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!

source:php.cn
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