I have a weird problem with a div not staying fixed.
I have this fixed box which works like intended in desktop view:
In mobile view I want this box to act as a bottom menu bar and it does work in general:

But whenever I scroll down, the box does not stay fixed:

I have no idea why this happens. The css for this box is:
.scrollnav {
min-height:100vh;
height: 100vh;
left:0;
right:0;
bottom: 0;
top:7vh !important;
transform: translateY(0);
padding:0;
position: fixed;
margin:0;
width:100vw;
font-size:16px;
z-index:9999;
pointer-events: none;
display: block;
justify-content: center;
padding-left:2vw;
align-items: bottom;
}
.dots {
width:95vw;
left:2vw;
bottom:0;
margin-top:-3vh;
height:11vh;
position: absolute;
display: block;
padding-top:2vh;
pointer-events:all;
}
In the html structure it is in last position and only parents are body and html:
<div class="scrollnav">
<ul class="dots">
<li class="active"><a href="#one">Home</a></li>
<li><a href="#two">Experience</a></li>
<li><a href="#three">Portfolio</a></li>
<li><a href="#four">Clients</a></li>
<li><a href="#five">Contact</a></li>
</ul>
</div>
</body>
</html>
html, body {
all: unset;
block-size: 100%;
font-family: 'Barlow';
font-size: 100%;
margin: 0;
scroll-snap-type: both mandatory;
scroll-behavior: smooth;
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
background: var(--dark);
}
I have no idea what is going on here. If you want to take a look at the full code, its online here:
https://b4tt3r.de/neuneu/index.html
I went through all kinds of tips how to make it fixed.
z-index, needs a width and a height, needs position:fixed;, tried position:absolute; as well...
Tried to disable all scripts etc, no change.

In the viewport
<meta>tag under <head>, addingminimum-scale=1.0works on my mobile on Google Chrome.It seems like in your website some of the components’ width is over 100vw, which somehow causes this problem.
In addition, you can try to remove
Top:7vhandtranslateY, and just usebottom:0(or what ever distance you prefer). If both Top and Height are specified, bottom will be ignored. Also, translate() doesn't work well withposition:fixedsince it will translate the position after the position is fixed, which might cause problem.