同一导航栏中的两个菜单

时间:2013-09-05 08:24:44

标签: jquery css twitter-bootstrap twitter-bootstrap-3

我希望在同一导航栏上有两个可折叠菜单。左侧菜单将显示网站的主菜单,而右侧菜单将显示“用户菜单”。

<div class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
   <div class="navbar-header">        
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#user-menu">
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
      </button>
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#main-menu">
         <span class="icon-bar"></span>
         <span class="icon-bar"></span>
         <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">My Site</a>
   </div>

   <span id="main-menu" class="navbar-collapse collapse">
      <ul class="nav navbar-nav">
         <li class="active"><a href="#">Home</a></li>
         <li><a href="about">About</a></li>
         <li><a href="members">Members</a></li>
         <li><a href="forum">Forum</a></li>
         <li><a href="mow">Register</a></li>
         <li class="dropdown">
            <a href="Products" class="dropdown-toggle" data-toggle="dropdown">Products <b class="caret"></b></a>
            <ul class="dropdown-menu">
               <li><a href="cars">Factions</a></li>
               <li><a href="software">Tanks</a></li>
               <li><a href="food">Infantry</a></li>
            </ul>
                </li>
              </ul>
            <form id="sys-login_form" target="passwordIframe" method="POST" action="blank.php" class="navbar-form navbar-right">
                 <span id="sys-login_status"></span>
                <div class="form-group">
                    <input type="text" placeholder="Username" class="form-control" name="username" id="sys-login-username" title="Username" data-active="0">
                </div>
                <div class="form-group">
                    <input type="password" placeholder="Password" class="form-control" name="password" id="sys-login-password" title="Password" data-active="0">
                </div>
                <input name="remember_login" id="sys-login-remember" type="checkbox" checked="checked" value="forever" title="Remember">
                <button type="button" class="btn btn-success" title="Login" name="login_btn" id="sys-login_btn" data-in_use="0">Go</button>
            </form>
            <iframe id="sys-passwordIframe" name="passwordIframe" style="display:none"></iframe>
      </span>

       <span id="user-menu" class="navbar-collapse collapse">
            <ul class="nav navbar-nav navbar-right">
                <li class="dropdown">
                    <a href="profile/fred" id="sys-username_box" class="dropdown-toggle" data-toggle="dropdown">Fred <b class="caret"></b></a>
                    <ul class="dropdown-menu">
                        <li><a href="account/settings">Settings</a></li>
                        <li><a data-in_use="0" href="account/logout">Logout</a></li>
                    </ul>
                </li>
                <li class="dropdown"><a href="about">Mail</a></li>
                <li><a href="about">Bookmarks</a></li>
            </ul>";
        </span>
  </div></div>

在移动视图中工作正常,即显示2个折叠菜单,但在正常模式或全屏模式下,右侧的用户菜单会被按下到主菜单下方的新行。

这里可以看到一个完整的例子: http://bootply.com/79056

2 个答案:

答案 0 :(得分:2)

对于您的第一个导航栏,将pull-left添加到class属性,即

<ul class="nav navbar-nav pull-left">...</ul>

通常情况下,你不需要添加它,但是因为你需要两个单独的可折叠菜单,第一个需要被告知向左浮动,所以第二个不会被强行关闭。

这是example。请注意,它假设您已登录,只有然后才会显示用户菜单。实际上,如果登录表单始终可见且用户菜单始终可见,则.container类中指定的宽度将太窄。

答案 1 :(得分:1)

您不应该使用<span>来制作内联内容。而是使用<div>并使用float或类似SimpleGrid的内容来设置布局。