【问题标题】:Bootstrap navbar fixed-topBootstrap 导航栏固定顶部
【发布时间】:2018-12-12 05:05:59
【问题描述】:

我有一个网站,它的顶部固定有一个导航栏,它在滚动时会向下跟踪。此功能通过 Bootstrap 可以正常工作,并且应该保持不变。我需要在导航栏上方添加一个固定的 50px 容器,该容器不会与导航栏一起跟踪。当我尝试实现它时,导航栏要么覆盖它,要么跟踪容器。

<header>
  <nav class="navbar navbar-nav navbar-dark bg-alumni navbar-expand-md fixed-top nav-fill">
  <div class="container">
   <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
     <span class="navbar-toggler-icon"></span>
   </button>
   <a class="nav-link nav-item navbar-brand nav-justified" href="beta.html#">
    <img src="images/AlumniHallName_solo.svg" class="d-inline-block float-lg-left float-md-left" id="nav-logo">
   </a>
   <div class="collapse navbar-collapse justify-content-end col-lg-4 col-md-6" id="navbarNav">
     <a class="nav-link nav-item link" href="beta.html">About</a>
     <a class="nav-link nav-item link" href="faith.html">Faith</a>
     <a class="nav-link nav-item link" href="sports.html">Sports</a>
     <a class="nav-link nav-item link" href="pups.html">Pups</a>
   </div>
  </div>
  </nav>
</header>

【问题讨论】:

  • class="container" 是您尝试添加的同一个容器吗?如果没有,您是否可以添加另一个包装器 div 固定容器?然后将其设置为固定位置?

标签: html twitter-bootstrap


【解决方案1】:

这是我能想到的。它使用 jQuery 将导航栏动态更改为固定。您可以使用console.log 测试何时切换到固定导航菜单。我将在这里发布一些代码,但我建议查看我的代码笔here

$(function() {
  $(window).scroll(function() {

    //use this number to determine when to switch to fixed menu
    console.log($(window).scrollTop())

    if ($(window).scrollTop() > 55) $('#navbar').addClass('navbarFixed');

    if ($(window).scrollTop() < 56) $('#navbar').removeClass('navbarFixed');

  });
});
.banner {
  height: 50px;
  width: 100%;
  background-color: red;
}

#navbar {
  border: 0;
  background-color: #4080ff;
  border-radius: 0px;
  margin-bottom: 0;
  height: 30px;
}

.navbarFixed {
  top: 0;
  position: fixed;
  width: 100%;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="banner">Hello, Alec!</div>
<div id="navbar">
  <a>About</a>
  <a>Faith</a>
  <a>Sports</a>
  <a>Pups</a>
</div>

【讨论】:

  • 这就是我想要在功能上做的事情,当我把它转移过来时它似乎不起作用。
  • 它工作得很好,但是,一些在你滚动时移动的内容(不固定)在插入类的过程中会跳转