如何创建带有 2 个折叠菜单的导航栏? [复制]

Posted

技术标签:

【中文标题】如何创建带有 2 个折叠菜单的导航栏? [复制]【英文标题】:How to create a navbar with 2 collapse menu? [duplicate] 【发布时间】:2017-10-01 07:03:43 【问题描述】:

我的代码在移动视图上运行良好,但在桌面右侧链接超出导航栏。我正在尝试创建以品牌为中心的导航栏,左侧为搜索栏,右侧为链接。以及如何在移动视图的左侧移动汉堡栏并在右侧搜索..(对不起我的英语)

.navbar-brand 
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    text-align: center;
    margin: auto;

.navbar-toggle 
    z-index:3;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>


<nav class="navbar navbar-default navbar-fixed-top" role="navigation">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-2">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Brand</a>
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-1"><span class="glyphicon glyphicon-search" aria-hidden="true"> </span>
      </button>
    </div>
       <div class="collapse navbar-collapse navbar-left" id="navbar-collapse-1">
     <form class="navbar-form navbar-left" role="search">
            <div class="form-group">
                <input type="text" class="form-control" placeholder="Search">
            </div>
            <button type="submit" class="btn btn-default">Submit</button>
     </form>
     </div>
      <div class="collapse navbar-collapse" id="navbar-collapse-2">
      <ul class="nav navbar-nav navbar-right">
        <li><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
      </ul>
    </div>
</nav>

【问题讨论】:

只需将按钮搜索的代码放在您的html中的汉堡包之前 问题不是重复的..问题的主题是.. OP想要与@ZimSystem实际提出的不同的东西 问题已更改,但对齐问题也是重复的。阅读其他答案,解决方案有效:codeply.com/go/fb9pU5evMu 【参考方案1】:

@media (max-width: 768px) 
 .nav_bar_align .navbar-brand
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    text-align: center;
    margin: auto;
 
 .nav_bar_align .nav_humber
    float: left;
    margin-left: 15px;
    z-index: 1;
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>


<nav class="navbar navbar-default navbar-fixed-top nav_bar_align" role="navigation">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle nav_humber" data-toggle="collapse" data-target="#navbar-collapse-2">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Brand</a>
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-1"><span class="glyphicon glyphicon-search" aria-hidden="true"> </span>
      </button>
    </div>
       <div class="collapse navbar-collapse navbar-left" id="navbar-collapse-1">
     <form class="navbar-form navbar-left" role="search">
            <div class="form-group">
                <input type="text" class="form-control" placeholder="Search">
            </div>
            <button type="submit" class="btn btn-default">Submit</button>
     </form>
     </div>
      <div class="collapse navbar-collapse" id="navbar-collapse-2">
      <ul class="nav navbar-nav navbar-right">
        <li><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
        <li><a href="#">Link</a></li>
      </ul>
    </div>
</nav>

【讨论】:

就是这样,谢谢...但是如何修复右侧链接? 右侧链接意味着我没有得到你可以请你解释一下我会帮助你。 搜索框无法点击导致品牌位置是绝对的..如何在不将位置更改为绝对位置的情况下移动品牌中心?【参考方案2】:

添加menu-1 类或在button 中随意调用它

 <button type="button" class="navbar-toggle menu-1" data-toggle="collapse" data-target="#navbar-collapse-2">

然后将其添加到您的 css 中:

.menu-1 
float: left;
margin-left: 10px;

更新: 处理搜索问题删除width: 100 并为.navbar-brand 增加left,如下所示:

.navbar-brand 
    position: absolute;
    /*width: 100%;*/
    left: 50%;
    top: 0;
    text-align: center;
    margin: auto;

并添加此 css:

@media (max-width:767px)
    a.navbar-brand 
        left: 45%;
  

查看更新后的Jsfiddle

【讨论】:

我试过不工作.. 试试我的评论.. @NIrajBhaskar @SahilDhir 我试过但没用... 我用 jsfiddle 更新了答案,检查一下 非常感谢...但是如何修复右侧的 ul 链接,如何修复对齐?

以上是关于如何创建带有 2 个折叠菜单的导航栏? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap:导航栏:导航侧菜单:在小屏幕上折叠

Bootstrap 3 Navbar 左侧和右侧导航栏项目的左侧折叠菜单

如何在折叠的导航栏中默认打开 Bootstrap 3 下拉菜单

Bootstrap:单击菜单外部时如何关闭打开的折叠导航栏?

带有 jQ​​uery 和 Bootstrap 3 的可折叠响应式侧边栏菜单

在折叠时合并多个 Bootstrap 3 导航栏菜单