【问题标题】:How to fix white background. Trying to make transparent navbar如何修复白色背景。试图制作透明的导航栏
【发布时间】:2019-12-16 18:58:17
【问题描述】:

我想使用 bootstrap4 使用透明导航栏进行整页登陆。我想要一个导航栏,当你向下滚动时,它会粘在顶部。

当我使用“fixed-top”类时,它看起来不错,但向下滚动时却没有跟随。当我使用“sticky-top”时,它会使导航栏的背景变成白色。

<nav class="navbar navbar-expand-md navbar-dark bg-dark sticky-top">
    <div class="container-fluid">
         <a href="#" class="navbar-brand">Brand</a>
         <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarToggler-1" aria-controls="navbarToggler-1" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
         </button>

.bg-dark{
    background-color: transparent !important;
}

【问题讨论】:

    标签: html css bootstrap-4 navbar


    【解决方案1】:

    我是这样设计的

    html

    <nav class="navbar navbar-default">
      <div class="container-fluid">
        <div class="navbar-header">
          <a class="navbar-brand" href="#">WebSiteName</a>
        </div>
        <ul class="nav navbar-nav">
          <li class="active"><a href="#">Home</a></li>
          <li><a href="#">Page 1</a></li>
          <li><a href="#">Page 2</a></li>
          <li><a href="#">Page 3</a></li>
        </ul>
      </div>
    </nav>
    

    css

    .navbar-fixed {
      top: 0;
      z-index: 100;
      position: fixed;
      width: 100%;
    }
    .navbar{
      background-color: transparent !important;
    }
    

    js

    $(window).scroll(function () {
      console.log($(window).scrollTop())
      if ($(window).scrollTop() > 63) {
        $('.navbar').addClass('navbar-fixed');
      }
      if ($(window).scrollTop() < 64) {
        $('.navbar').removeClass('navbar-fixed');
      }
    });
    

    希望能帮到你

    【讨论】:

      【解决方案2】:

      .navbar.bg-dark{
          background-color: transparent !important;
      }
      
      .navbar.navbar-dark .navbar-brand{
      color: #000}
      <link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.css" rel="stylesheet"/>
      <nav class="navbar navbar-expand-md navbar-dark bg-dark sticky-top">
          <div class="container-fluid">
               <a href="#" class="navbar-brand">Brand</a>
               <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarToggler-1" aria-controls="navbarToggler-1" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
               </button>

      【讨论】:

        【解决方案3】:

        您的导航栏从bg-dark获取背景颜色

        只需从&lt;nav class=""&gt; 中删除类bg-dark

        <nav class="navbar navbar-expand-md navbar-dark sticky-top">
            <div class="container-fluid">
                 <a href="#" class="navbar-brand">Brand</a>
                 <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarToggler-1" aria-controls="navbarToggler-1" aria-expanded="false" aria-label="Toggle navigation">
                  <span class="navbar-toggler-icon"></span>
                 </button>
            </div>
        </nav>
        
        

        为什么?需要移除 bg-dark

        因为bg-dark有这个属性

        .bg-dark {
           background-color: #343a40 !important;
        }
        

        让我们来这里DEMO

        <body style="background-color: gray;">
          <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
          <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
          <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
          <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
        
          <nav class="navbar navbar-expand-md navbar-dark sticky-top">
            <div class="container-fluid">
              <a href="#" class="navbar-brand">Brand</a>
              <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarToggler-1" aria-controls="navbarToggler-1" aria-expanded="false" aria-label="Toggle navigation">
                  <span class="navbar-toggler-icon"></span>
                 </button>
            </div>
            <div class="collapse navbar-collapse" id="navbarToggler-1">
              xxx
            </div>
          </nav>
        
          <img src="https://cdn.pixabay.com/photo/2016/02/19/11/19/computer-1209641_960_720.jpg">
        </body>

        【讨论】:

          【解决方案4】:

          你可以删除这个类(bg-dark),当它处于粘性状态时,它可以通过 js 完成,或者如果你只想使用 css,那么你必须像这样使用带有 bg-dark 的 body 类(body .bg- dark{background:none;} header .bg-dark{background:none;} )如果你想添加它,你也可以添加重要的。

          $(window).scroll(function() {    
              var scroll = $(window).scrollTop();
          
              if (scroll >= 300) {
                  $(".navbar").addClass("sticky_nav");
                  $(".navbar").removeClass("bg-dark");
              } else {
                  $(".navbar").removeClass("sticky_nav");
                  $(".navbar").addClass("bg-dark");
              }
          });
          .navbar.sticky_nav{
              position: fixed;
              top: 0;
              width: 100%;
              left: 0;
              z-index: 99;
          }
          <link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.css" rel="stylesheet"/>
          <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
          <nav class="navbar navbar-expand-md navbar-dark bg-dark sticky-top">
              <div class="container-fluid">
                   <a href="#" class="navbar-brand">Brand</a>
                   <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarToggler-1" aria-controls="navbarToggler-1" aria-expanded="false" aria-label="Toggle navigation">
                    <span class="navbar-toggler-icon"></span>
                   </button>
                   </div>
            </nav>
            <div style="height:200px; width:100%; background:#f00; display:block;"></div>
             <div style="height:300px; width:100%; background:#000; display:block;"></div>

          【讨论】:

            猜你喜欢
            • 2015-09-16
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-08-21
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多