How to make <div> cover whole page and not only viewport

1.2k Views Asked by At

I'm trying to make a div cover my whole page. Currently, the problem is that it is only covering the size of the viewport (for example 1920x1080px).

That's the CSS for the div I'm using at the moment:

    #cursor-container {
      position: absolute;
      z-index: 99999;
      pointer-events: none;
      overflow-x: auto;
      background-color: rgba(0, 0, 0, 0.25);
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      height: 100%;
      width: 100%;
    }

At the moment, it looks like this:

enter image description here

But it should look like this:

enter image description here

How can I fix this?

1

There are 1 best solutions below

0
RudyTheWebDev On BEST ANSWER

First, make sure that the div you are using is the child of the body element, then change the position to position: fixed;:

#cursor-container {
  position: fixed;
  top: 0;
  left: 0;

  margin: 0;
  padding: 0;

  height: 100%;
  width: 100%;

  z-index: 99999;
  pointer-events: none;
  overflow-x: auto;
  background-color: rgba(0, 0, 0, 0.25);
}

This will make sure that your div stays fixed at the screen even if the page scrolls down and it will cover the whole screen

Also, set the parent's width and height to 100% as well:

html, body {
  width: 100%;
  height: 100%;
}