Home > Web Front-end > CSS Tutorial > How Can I Disable Scrollbars Without Hiding Them in Web Development?

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

Linda Hamilton
Release: 2024-12-03 09:24:10
Original
774 people have browsed it

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

Disabling Scrollbars without Hiding Them

In web development, it is occasionally necessary to disable scrollbars on a parent element while using a lightbox. However, merely hiding the scrollbars using overflow: hidden is often undesirable, as it can cause the site to jump and occupy the space where the scrollbar was.

There is a viable solution that allows for disabling scrollbars while still displaying them. If the page under the lightbox can be positioned at the top, you can utilize the following CSS code:

body {
  position: fixed;
  overflow-y: scroll;
}
Copy after login

This will display the scrollbar but prevent the content from being scrolled. To restore the scrollbars after closing the lightbox, simply revert these properties:

body {
  position: static;
  overflow-y: auto;
}
Copy after login

This approach requires no modification of scroll events.

Addressing Pre-existing Scroll Positions

If the page is already scrolled before the lightbox is opened, you can retrieve the current scroll position through JavaScript and assign it as the top property of the body element. This will maintain the current scroll position during lightbox usage.

CSS

.noscroll {
  position: fixed; 
  top: var(--st, 0);
  inline-size: 100%;
  overflow-y:scroll; 
}
Copy after login

JavaScript

const b = document.body;
b.style.setProperty('--st', -(document.documentElement.scrollTop) + "px");
b.classList.add('noscroll');
Copy after login

By implementing this solution, you can effectively disable scrollbars without hiding them, preserving the intended visual presentation of your webpage.

The above is the detailed content of How Can I Disable Scrollbars Without Hiding Them in Web Development?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template