在Bootstrap 3中更改折叠导航栏上的菜单顺序

时间:2014-05-26 17:27:20

标签: html twitter-bootstrap-3 navbar

我有一个Bootstrap 3 Navbar,它有两个右对齐的<ul>部分,它们给了我这个:

enter image description here

当菜单崩溃移动时,我明白了:

enter image description here

我有两个与折叠菜单相关的问题。 1)如何让按钮显示在折叠菜单的底部而不是顶部? 2)如何更改折叠菜单中按钮的样式(不影响水平菜单中的样式)?

以下是此Navbar的标记。是的,我有理由有两个单独的<ul>部分:

<div class="navbar navbar-default navbar-fixed-top">
        <div class="container">
            <div class="navbar-header">
                <button class="navbar-toggle" data-toggle="collapse" data-target=".navHeaderCollapse">
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a href="#" class="navbar-brand">My Site</a>
            </div>
            <div class="collapse navbar-collapse navHeaderCollapse">
                <ul class="nav navbar-nav navbar-right">
                    <li><a href="#" class="btn navbar-btn" id="Btn_1">Button One</a></li>
                    <li><a href="#" class="btn navbar-btn" id="Btn_2">Button Two</a></li>                    
                </ul>
                <ul class="nav navbar-nav navbar-right">
                    <li><a href="#">Item1</a></li>
                    <li><a href="#">Item2</a></li>                    
                    <li><a href="#">Item3</a></li>
                    <li><a href="#">Item4</a></li>
                </ul>                
            </div>            
        </div>
    </div>

2 个答案:

答案 0 :(得分:16)

我最终找到了一个更简单的解决方案,用于重新格式化和重新排序折叠导航栏上的按钮链接,这不需要新的JavaScript代码:

        <div class="collapse navbar-collapse navHeaderCollapse">
            <ul class="nav navbar-nav navbar-right hidden-xs">
                <li><a href="#" class="btn navbar-btn" id="Btn_1">Button One</a></li>
                <li><a href="#" class="btn navbar-btn" id="Btn_2">Button Two</a></li>
            </ul>
            <ul class="nav navbar-nav navbar-right">
                <li><a href="#">Item1</a></li>
                <li><a href="#">Item2</a></li>
                <li><a href="#">Item3</a></li>
                <li><a href="#">Item4</a></li>
            </ul>
            <ul class="nav navbar-nav visible-xs">
                <li><a href="#" >Button One</a></li>
                <li><a href="#" >Button Two</a></li>
            </ul>
        </div>

我只是复制了Button One和Button Two <ul>部分,并将其添加到底部。然后我删除了<a>链接上的类和ID,这样就不会出现按钮格式。最后,我将hidden-xs引导类添加到顶部<ul>,将visible-xs添加到底部<ul>类。这就是诀窍:

enter image description here

答案 1 :(得分:1)

我遇到了类似的问题,但是一直在使用Bootstrap 4.4,可以通过简单的d-none d-block解决方案来解决。

<ul class="nav justify-content-center">
      <li class="nav-item d-sm-none d-md-block">
        <a class="nav-link" href="#">Item 1</a>
      </li>
      <li class="nav-item d-sm-none d-md-block">
        <a class="nav-link" href="#">Item 2</a>
      </li>
      <li>
      <li class="nav-item">
        <a class="nav-link" href="#">Item 3</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Item 4</a>
      </li>
      <li class="nav-item d-none d-sm-block d-md-none">
        <a class="nav-link" href="#">Item 1</a>
      </li>
      <li class="nav-item d-none d-sm-block d-md-none">
        <a class="nav-link" href="#">Item 2</a>
      </li>
    </ul>

使用此方法可使项目1和2仅在显示设置为小号及以下时出现。同时以相同的显示尺寸隐藏原稿。