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

10

我有一个 Bootstrap 3 导航栏,其中有两个靠右对齐的 <ul> 部分,如下所示:

enter image description here

当移动设备折叠菜单时,我得到以下结果:

enter image description here

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

下面是此导航栏的标记。是的,我有一个理由使用两个独立的 <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个回答

17

最终我找到了一个更简单的解决方案来重新格式化和重新排序折叠导航栏上的按钮链接,这个解决方案不需要新的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>

我只是复制了按钮一和按钮二的<ul>部分,并将其添加到底部。然后我移除了标签上的类和ID,以防止产生按钮格式。最后,我给顶部的<ul>添加了hidden-xs的bootstrap类,给底部的<ul>添加了visible-xs类,这就完成了:

enter image description here


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只在显示器设置为小型及以下时出现,同时在相同的显示尺寸下隐藏原始内容。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接