【问题标题】:Bootstrap navbar changing button and menu positionsBootstrap 导航栏更改按钮和菜单位置
【发布时间】:2018-10-16 07:46:46
【问题描述】:

我正在使用 Bootstrap 导航栏创建一个网站标题,如下所示:

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
<nav class="navbar navbar-expand-sm navbar-dark bg-dark">
  <a class="navbar-brand all-upper mb-1 h1 ml-1" href="#">Brand</a>
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarToggle" aria-controls="navbarToggle" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>

  <div class="navbar-expand">
    <button class="btn btn-primary mr-3" onclick="goToTrip()">Button</button>
  </div>

  <div class="collapse navbar-collapse">
    <ul class="navbar-nav ml-auto">
      <li class="nav-item">
        <a class="nav-link all-upper" href="index.html">Home</a>
      </li>
      <li class="nav-item">
        <a class="nav-link all-upper" href="#">Settings</a>
      </li>
      <li class="nav-item">
        <a class="nav-link all-upper" href="#">Log Out</a>
      </li>
    </ul>
  </div>
</nav>

所以我在导航栏的右侧有一些链接,在左侧有一个按钮。

但是当屏幕变小时,按钮和折叠菜单会改变它们的位置,如下所示:

没有按钮一切正常:

那么如何把物品放在原处呢?

【问题讨论】:

    标签: html css twitter-bootstrap


    【解决方案1】:

    @media screen and (max-width: 540px) {
       .navbar-brand{
           flex-grow: 2;
       }
    }
    <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet"/>
        <nav class="navbar navbar-expand-sm navbar-dark bg-dark">
          <a class="navbar-brand all-upper mb-1 h1 ml-1" href="#">Brand</a>
    
    
          <div class="navbar-expand">
            <button class="btn btn-primary mr-3" onclick="goToTrip()">Button</button>
          </div>  
          <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarToggle" aria-controls="navbarToggle" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
    
          <div class="collapse navbar-collapse">
            <ul class="navbar-nav ml-auto">
              <li class="nav-item">
                <a class="nav-link all-upper" href="index.html">Home</a>
              </li>
              <li class="nav-item">
                <a class="nav-link all-upper" href="#">Settings</a>
              </li>
              <li class="nav-item">
                <a class="nav-link all-upper" href="#">Log Out</a>
              </li>
            </ul>
          </div>
        </nav>

    你可以试试这个吗?你只是把你的导航栏切换器放在错误的地方..

    再试一次?这就是你想要的?

    【讨论】:

    • 它有效,谢谢。但按钮变为居中而不是停留在左侧 (imgur.com/B39ilmM.png)
    • 通过将“mr-auto”添加到按钮来修复。
    【解决方案2】:
      <div class="navbar-expand">
        <button class="btn btn-primary mr-3" onclick="goToTrip()">Button</button>
      </div>
    

    div 中不应该有这个navbar-expand 类,因为您已经在导航标签中定义了navbar-expand-sm

    【讨论】:

      【解决方案3】:

      不需要额外的 CSS。只需更改按钮的位置并使用mr-auto 将其保持在左侧即可。

      <nav class="navbar navbar-expand-sm navbar-dark bg-dark">
          <a class="navbar-brand all-upper mb-1 h1 ml-1" href="#">Brand</a>
          <div class="navbar-expand mr-auto">
              <button class="btn btn-primary mr-3" onclick="goToTrip()">Button</button>
          </div>
          <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarToggle" aria-controls="navbarToggle" aria-expanded="false" aria-label="Toggle navigation">
              <span class="navbar-toggler-icon"></span>
          </button>
          <div class="collapse navbar-collapse" id="navbarToggle">
              <ul class="navbar-nav ml-auto">
                  <li class="nav-item">
                      <a class="nav-link all-upper" href="index.html">Home</a>
                  </li>
                  <li class="nav-item">
                      <a class="nav-link all-upper" href="#">Settings</a>
                  </li>
                  <li class="nav-item">
                      <a class="nav-link all-upper" href="#">Log Out</a>
                  </li>
              </ul>
          </div>
      </nav>
      

      演示:https://www.codeply.com/go/vTTFyRkyoF

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-05-03
        • 1970-01-01
        • 1970-01-01
        • 2019-01-21
        • 2023-04-08
        • 2017-07-01
        • 1970-01-01
        相关资源
        最近更新 更多