当您向下滚动到内容时,我试图固定标题/导航栏。我的标头是静态的,我尝试在一开始将其值更改为fixed,但是如果这样做,它会立即消失。
我想实现W3School的示例,但是它没有用,我也不知道为什么。我也一直在阅读所有的教程和问题,但是大多数情况下他们可以解决,但是将位置更改为固定。
window.onscroll = function() {
myFunction()
};
var header = document.getElementById("myHeader");
var sticky = header.offsetTop;
function myFunction() {
if (window.pageYOffset > sticky) {
header.classList.add("sticky");
} else {
header.classList.remove("sticky");
}
}
.navbar {
background-color: #AA0000;
width: 100vw;
position: static;
}
.logo a {
font-family: 'Lobster';
font-size: 40px;
float: left;
text-decoration: none;
color: white;
padding: 20px 35px;
}
.navcontent {
margin-left: 30%;
display: flex;
}
.navcontent a {}
.navcontent a::after {}
.navcontent a:hover::after {}
.dropdown-content {}
.dropdown:hover .dropdown-content {}
label {
margin: 0 auto;
font-size: 26px;
line-height: 70px;
display: none;
position: static;
}
#toggle {
display: none;
}
.sticky {
position: fixed;
top: 0;
left: 0;
width: 100%;
}
HTML FIlE
<body>
<section class="navbar" id="myHeader">
<div class="logo">
<a href="index.html">Test</a>
</div>
<label for="toggle" style="color: white;">☰</label>
<input type="checkbox" id="toggle" />
<div class="navcontent">
<p><a href="index.html">Start</a></p>
<p><a href="puravida.html">Pura Vida</a></p>
<div class="dropdown">
<p><a href="reisen.html">Reisen</a></p>
<div class="dropdown-content">
<p><a href="blog/reiseinfos.html">Frag mich</a></p>
<p><a href="reiseberichte.html">Reiseblog</a></p>
</div>
</div>
<p><a href="aboutme.html">Über mich</a></p>
<p><a href="contact.html">Kontakt</a></p>
</div>
</section>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
<p>...</p>
</body>
我希望W3School示例可以工作,因为在我看来,我只需要实现JS File和.sticky类,但最后我看不到任何反应/更改
答案 0 :(得分:0)
您可以使用z-index属性在上方显示它。
.navbar{
position: fixed;
top: 0;
left: 0;
background-color: #AA0000;
width: 100vw;
z-index: 99;
}
答案 1 :(得分:0)
.navbar {
position: fixed;
top: 0;
width: 100vw;
}
如果您想使用position: sticky
.navbar {
position: sticky;
top: 0;
}
但是,您的父容器必须具有设置的滚动高度。