【问题标题】:Collapsing navbar moves uncollapsable items away from navbar折叠导航栏将不可折叠的项目从导航栏移开
【发布时间】:2019-05-10 17:52:19
【问题描述】:

我有这个导航栏:

如果屏幕变小,购物车大军不应该折叠:

到目前为止,一切都很好......

但是,当我点击切换按钮时,我的购物车大军也随着菜单向下移动,如下所示:

但我希望我的购物车大军也能熬夜,就像这张图片(现在画的):

我已经找了几个小时了,但仍然无法实现这种行为。这是fiddle

代码

<nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
    <a class="navbar-brand" href="#">English Park Cuisine</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarNavDropdown">
        <ul class="navbar-nav ml-auto">
            <li class="nav-item active">
                <a class="nav-link" href="index.php">Acasa<span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                Meniu
                </a>
                <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
                    <a class="dropdown-item" href="meniu.php">Pizza</a>
                    <a class="dropdown-item" href="#">Paste</a>
                    <a class="dropdown-item" href="#">Supe</a>
                    <a class="dropdown-item" href="#">Ciorbe</a>
                    <a class="dropdown-item" href="#">Desert</a>
                </div>
            </li>
            <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Contact</a>
                <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
                    <p class="dropdown-item">0746117702</p>
                    <p class="dropdown-item">0742112452</p>
                    <p class="dropdown-item">0735212352</p>
                </div>
            </li>
        </ul>
    </div>

    <div class="d-flex order-lg-1 ml-auto pr-2">
        <a href="#" class="navbar-text"><i class="fa fa-shopping-cart fa-lg" style="color: white;"></i></a>
        <a href="#" class="navbar-text"><i class="fa fa-shopping-cart fa-lg" style="color: white;"></i></a>
        <a href="#" class="navbar-text"><i class="fa fa-shopping-cart fa-lg" style="color: white;"></i></a>           
    </div>

</nav>

这个问题与this one 非常相似,但是,你看不到这种行为,因为导航栏的顺序不同,这就是这个问题的独特之处。

【问题讨论】:

    标签: css twitter-bootstrap bootstrap-4 navbar


    【解决方案1】:

    您可以使用order-* classes 来解决此问题。只需将要保留在顶部导航栏上的项目的顺序value 保持在低于切换折叠模式的button 的值即可。在下一个示例中:

    (1) 当导航栏未折叠时(lg 屏幕),购物车大军将拥有 order-4 并排在最后。

    (2) 折叠导航栏时,购物车大军将显示order-1,切换折叠按钮将显示order-2。所以折叠按钮不会影响它。

    <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.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.5.0/css/all.css" integrity="sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU" crossorigin="anonymous">
    
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
    
      <a class="navbar-brand order-0" href="#">English Park Cuisine</a>
    
      <div class="order-lg-4 order-1 ml-auto mr-2">
        <a href="#" class="navbar-text">
          <i class="fa fa-shopping-cart fa-lg" style="color: white;"></i>
        </a>
        <a href="#" class="navbar-text">
          <i class="fa fa-shopping-cart fa-lg" style="color: white;"></i>
        </a>
        <a href="#" class="navbar-text">
          <i class="fa fa-shopping-cart fa-lg" style="color: white;"></i>
        </a>
      </div>
    
      <button class="navbar-toggler order-2" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>
    
      <div class="collapse navbar-collapse order-3" id="navbarNavDropdown">
        <ul class="navbar-nav ml-auto">
          <li class="nav-item active">
            <a class="nav-link" href="index.php">
              Acasa<span class="sr-only">(current)</span>
            </a>
          </li>
          <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
              Meniu
            </a>
            <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
              <a class="dropdown-item" href="meniu.php">Pizza</a>
              <a class="dropdown-item" href="#">Paste</a>
              <a class="dropdown-item" href="#">Supe</a>
              <a class="dropdown-item" href="#">Ciorbe</a>
              <a class="dropdown-item" href="#">Desert</a>
            </div>
          </li>
          <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Contact</a>
            <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
              <p class="dropdown-item">0746117702</p>
              <p class="dropdown-item">0742112452</p>
              <p class="dropdown-item">0735212352</p>
            </div>
          </li>
        </ul>
      </div>
    
    </nav>

    【讨论】:

    • 感谢您的回答!订单类的链接最终为我指明了正确的方向,让我更深入地了解为什么会发生这种情况。干杯!
    【解决方案2】:

    试试这个:

    <nav class="navbar navbar-expand-lg navbar-dark bg-dark fixed-top">
        <a class="navbar-brand" href="#">English Park Cuisine</a>
    
        <div class="d-flex order-lg-1 ml-auto pr-2" style="margin-right:20px;">
            <a href="#" class="navbar-text"><i class="fa fa-shopping-cart fa-lg" style="color: white;"></i></a>
            <a href="#" class="navbar-text"><i class="fa fa-shopping-cart fa-lg" style="color: white;"></i></a>
            <a href="#" class="navbar-text"><i class="fa fa-shopping-cart fa-lg" style="color: white;"></i></a>
    
        </div> 
                <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarNavDropdown">
            <ul class="navbar-nav ml-auto">
                <li class="nav-item active">
                    <a class="nav-link" href="index.php">Acasa<span class="sr-only">(current)</span></a>
                </li>
                <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                    Meniu
                </a>
                    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
                        <a class="dropdown-item" href="meniu.php">Pizza</a>
                        <a class="dropdown-item" href="#">Paste</a>
                        <a class="dropdown-item" href="#">Supe</a>
                        <a class="dropdown-item" href="#">Ciorbe</a>
                        <a class="dropdown-item" href="#">Desert</a>
                    </div>
                </li>
                <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Contact</a>
                    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
                        <p class="dropdown-item">0746117702</p>
                        <p class="dropdown-item">0742112452</p>
                        <p class="dropdown-item">0735212352</p>
                    </div>
                </li>
            </ul>
        </div>
    
    
    
    </nav>
    

    【讨论】:

    • 也感谢您的回答,但是,另一个更清楚和解释性更强,因此我将其标记为已接受。但是感谢您的努力,我注意到它也很有效:)
    猜你喜欢
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-25
    • 2015-12-07
    • 1970-01-01
    • 2012-04-13
    相关资源
    最近更新 更多