【问题标题】:Bootstrap 4 collapsed navbar background colorBootstrap 4折叠导航栏背景颜色
【发布时间】:2017-01-27 14:17:07
【问题描述】:

我想在 bootstrap 4 alpha v6 中更改折叠导航栏的背景颜色。当然我想改变整个导航栏的背景颜色。

所以问题是任何负责导航栏崩溃的类?到目前为止,我发现的唯一 div 是 #navbarSupportedContent 但它只是导航栏中 ul 的内容(因此它不会改变整个导航栏的颜色)。我可以在 jquery 中检查导航栏是否折叠然后更改背景颜色,但我想知道我是否可以简单地在 css 中完成。

除此之外我想说导航栏默认颜色是透明的,这就是为什么我想在它折叠时更改它的颜色。


我还有下一个问题,BS4 中负责导航栏切换器图标的类是什么?我问是因为我想更改图标的颜色。我已经找到并尝试了以下方法:

.navbar-toggler-icon {
  color:white !important;
}

【问题讨论】:

    标签: twitter-bootstrap


    【解决方案1】:

    也适用于 v4。

    这是一个 Bootstrap 4 alpha6 CSS 演练,涵盖了对 .navbar 本身、内部链接和汉堡按钮的修改(全部避免 !important 应该作为最后使用覆盖度假村):

    /* change navbar background */
    nav.navbar {
      background: transparent;
    }
    /* change navbar-brand color */
    .navbar a.navbar-brand {
      color: white;
    }
    /* change navbar-brand color on hover */
    .navbar a.navbar-brand:hover {
      color: green;
    }
    /*  change navbar li colors, also active one but not disabled one */
    .navbar ul.navbar-nav li.nav-item a.nav-link {
      color: white;
    }
    /* change navbar-toggler inside lines color (stroke) */
    .navbar-light span.navbar-toggler-icon {
      background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='yellow' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
      color: white;
    }
    /* change hamburger button border color */
    button.navbar-toggler.navbar-toggler-right {
      border-color: yellow;
    }
    /* change navbar background on collapse */
    @media (max-width: 768px) {
      nav.navbar {
        background: lightgray;
      }
    }
    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet" />
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.3.7/js/tether.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>
    <nav class="navbar navbar-toggleable-md navbar-light">
      <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarTogglerDemo02" aria-controls="navbarTogglerDemo02" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>
      <a class="navbar-brand" href="#">Navbar</a>
      <div class="collapse navbar-collapse" id="navbarTogglerDemo02">
        <ul class="navbar-nav mr-auto mt-2 mt-md-0">
          <li class="nav-item active">
            <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
          </li>
          <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
          </li>
          <li class="nav-item">
            <a class="nav-link disabled" href="#">Disabled</a>
          </li>
        </ul>
        <form class="form-inline my-2 my-lg-0">
          <input class="form-control mr-sm-2" type="text" placeholder="Search">
          <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
        </form>
      </div>
    </nav>

    【讨论】:

    • 好的,导航栏折叠图标效果很好,但情况是我一开始的背景颜色是透明的,然后如果有人折叠它,那么背景颜色应该改变。
    • 太好了,谢谢。可惜我没想到。
    【解决方案2】:

    "...但情况是我一开始的背景颜色是 透明然后如果有人将它折叠然后背景 颜色应该改变。”

    我是这样做的:

    <style>
    .navbar { 
        background-color: transparent;
    }
    .navbar.collapse {
        display:flex;
    }
    .navbar.collapsing,
    .navbar.show {
        background:white !important;
    }
    </style>
    
    
    
    <nav class="navbar navbar-light navbarSupportedContent">
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
           <span class="navbar-toggler-icon"></span>
        </button>
       <div class="collapse navbar-collapse navbarSupportedContent">
       </div>
    </nav>
    

    【讨论】:

      【解决方案3】:

      这对我有用:

          .navbar-collapse {
          background-color: white;
      }
      

      【讨论】:

        猜你喜欢
        • 2018-10-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-11-15
        • 1970-01-01
        • 2016-11-20
        • 2020-04-12
        • 2016-12-06
        相关资源
        最近更新 更多