Home > Back-end >  How to disable parent/body scrolling when a modal is open in react
How to disable parent/body scrolling when a modal is open in react

Time:10-14

There are lot of similar questions to this.I have a react project in which I want to disable the parent/body scrolling when a modal/popup is in hover or focused state. I needed the parent scroll to be visible only the scrolling should be disabled when the modal is hovered or focused. I tried overflow:hidden and position:fixed but it makes the parent scroll disappear. Is there any way we can achieve this. I am new to UI , any help would be appreciated.

CodePudding user response:

body {
  position: fixed;
  max-height: 100vh;
  overflow-y: scroll;
}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tempor congue leo, ullamcorper gravida dui. Integer dignissim euismod facilisis. Etiam eget accumsan justo. Ut vitae eros semper, pulvinar tortor eget, viverra metus. Proin eleifend eros
tortor, vel lobortis sem consequat quis. Phasellus euismod fermentum condimentum. Nulla id vehicula dolor, id rutrum metus. Curabitur tempor posuere enim, et accumsan lectus malesuada vitae. Morbi ultrices fringilla lacus vel ultricies. Etiam ut urna
massa. Morbi porttitor quam eget nisi volutpat, id tempor justo imperdiet. Nullam maximus venenatis turpis, a semper ligula placerat nec. Aliquam hendrerit magna a laoreet elementum. Duis efficitur, lacus sed lacinia porta, nibh ante eleifend lacus, et
viverra mi elit eget nulla. Fusce ultrices faucibus orci vel fermentum. Donec a consectetur turpis, id ultricies risus. Vestibulum iaculis porttitor justo, sit amet pellentesque est vulputate ac. Suspendisse nisi ex, gravida dapibus ipsum vitae, pharetra
efficitur tellus. Vivamus varius elementum euismod. Nunc elit diam, laoreet vel finibus at, porttitor vel est. Maecenas dignissim nibh eu nibh pellentesque ornare. Curabitur feugiat iaculis mi, ullamcorper hendrerit ex scelerisque ac. Donec blandit ipsum
sit amet nibh elementum, vitae efficitur nisi maximus. Curabitur sodales, elit a bibendum tempor, elit sem pellentesque metus, sit amet tempor diam nulla id sapien. In aliquam magna at turpis semper, et consectetur lorem egestas. Nunc ornare erat eros,
quis efficitur nibh tincidunt ac. Nunc imperdiet lectus id libero semper cursus eu vel turpis. Proin tincidunt sollicitudin metus consequat vehicula. Etiam sed nunc tincidunt, imperdiet mi eget, rutrum enim. Aenean scelerisque imperdiet tortor id sodales.
Aenean faucibus bibendum pharetra. Etiam sagittis odio nec risus malesuada egestas. Cras vel lorem a neque efficitur scelerisque. Pellentesque ut lorem id dolor varius dictum eget non metus. Nunc consectetur lectus sit amet nulla sollicitudin, eu tincidunt
neque cursus. Nullam in enim ullamcorper, ultrices velit non, suscipit lorem. Nunc eleifend urna non fermentum tincidunt. Curabitur fermentum dui eros, consectetur feugiat risus aliquam nec. Sed efficitur nec nulla eu porta. Suspendisse ipsum massa, elementum
vel blandit vel, hendrerit at nibh. Etiam tempus massa non pellentesque hendrerit. In commodo nisl quam, ut aliquet ipsum varius a. Donec magna justo, luctus eu congue tempus, feugiat ut est. Proin suscipit eu lorem vel imperdiet. Morbi suscipit nisi
sem, finibus pulvinar magna scelerisque non. Proin molestie, nisl non tincidunt suscipit, mauris nunc commodo diam, et lacinia diam libero sit amet felis. Praesent vestibulum risus id erat consequat, ac maximus mauris pulvinar. Etiam tempus interdum est
sed aliquet. In hac habitasse platea dictumst. Curabitur maximus sodales tempus. Suspendisse dapibus vestibulum blandit. Ut mollis interdum fringilla. Maecenas neque purus, rhoncus nec tortor at, elementum dictum sem. Aenean sit amet elit facilisis, euismod
felis non, elementum tortor. Mauris eget aliquam mauris, at volutpat mi. Donec in ligula ac lectus rhoncus pulvinar. Suspendisse a nulla id mi convallis congue quis vitae massa.

CodePudding user response:

Found a more precise solution for this usecase. Simple adding below property in overlay class overscroll-behavior: contain

  • Related