【问题标题】:Sticky header nav menu, gap along the top when I scroll down the page粘性标题导航菜单,当我向下滚动页面时,顶部有间隙
【发布时间】:2021-03-31 05:40:43
【问题描述】:

我的粘性导航栏有点问题。

我在导航栏上方有一个关注我们的部分,我想要做的是,如果用户滚动,导航栏会重新回到页面顶部。最初我不能设置 top:0 因为它会覆盖跟随我们。所以我需要它滚动一次。

解释它的最好方法是通过这个 w3 学校示例,其中标题在滚动经过上述内容后会粘住:

https://www.w3schools.com/howto/tryit.asp?filename=tryhow_js_navbar_sticky

如果您查看下面的屏幕截图,我尝试按照上面的示例进行操作,但对我不起作用。

这是初始页面加载,在页面顶部关注我们。

我滚动的那一刻你可以看到上面有一个间隙。

HTML:

<header id="site-header" class="header-footer-group _mPS2id-t mPS2id-target mPS2id-target-first mPS2id-target-last" role="banner">
...
            
</header>

Javascript:

<head>
<script>
window.onscroll = function() {myFunction()};

var navbar = document.getElementById("site-header");
var sticky = navbar.offsetTop;

function myFunction() {
  if (window.pageYOffset >= sticky) {
    navbar.classList.add("sticky")
  } else {
    navbar.classList.remove("sticky");
  }
}
</script>
</head>

CSS:

#site-header{
    opacity: 0.9;
    width:100% !important;
    z-index:99999;
  position:fixed;
}

【问题讨论】:

  • “关注我们”栏应该与标题保持固定?
  • @RokoC.Buljan 不,跟随我们不应该固定在粘性导航标题中

标签: javascript html css


【解决方案1】:

请使用此 CSS

.sticky {position: -webkit-sticky; /* Safari */
  position: sticky;
  top: 0;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 2017-03-14
    • 1970-01-01
    • 1970-01-01
    • 2016-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多