I want the whole body to have a dotted grid
Here is another way in addition to changing the background-position that may work whataver the size is:
body {
background-image: radial-gradient(circle at 1px 1px, black 1px, transparent 0);
background-size: 40px 40px;
}
body {
background-image: radial-gradient(circle at 1px 1px, black 1px, transparent 0);
background-size: 50px 30px;
}
Basically the idea is to change the position of the dots inside the area defined by background-size to the top/left instead of shifting all the background