Bootstrap 导航栏的下拉菜单

Bootstrap Drowdown For Navbar

我目前有一个常规的导航栏,但我的链接开始变大,无法在没有下拉菜单的情况下保留。我想将两个链接放在一起并使它们成为下拉菜单。这对某人来说应该是一些简单的要点。这是一个屏幕截图和一些代码。我想将 sent messagesscheduled messages 合并为一个下拉列表。

导航栏。

 <nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
  <%= link_to 'Tulip Time Text', root_path, class: "navbar-brand", id: "logo", title: 'Send a Message' %>
</div>
<ul class="nav navbar-nav navbar-left">
  <li><%= link_to 'Numbers', people_path, title: 'Subscribers' %></li>
  <li><%= link_to 'Sent Messages', messages_path, title: 'Received' %></li>
  <li><%= link_to 'Scheduled Messages', scheduled_message_path, title: 'To Be Sent' %></li>
  <li><%= link_to 'Statistics', subscribed_num_path, title: 'Total Number of Subscribers' %></li>
</ul>
<ul class="nav navbar-right col-md-4">
  <% if current_user %>
  <li class="col-md-8 user-name">
  <%= link_to ('<i class="fa fa-user"></i> ' + truncate(current_user.email, length: 25)).html_safe,
  edit_user_password_path, title: 'Edit Profile' %>
  </li>
  <li class="col-md-3 logout"><%= link_to('Logout', destroy_user_session_path,
  class: 'btn btn-xs btn-danger', title: 'Logout', :method => :delete) %></li>
  <% else %>
  <li class="col-md-4 pull-right">
  <%= link_to('Sign In', new_user_session_path, class: 'btn btn-primary', title: 'Sign In') %>
  </li>
  <% end %>
</ul>

给你。您的导航栏中有 rows/columns 是有原因的吗?我可能会反对。

它本质上只是一个基本的 dropdown。唯一的区别是使用 div 标签,而不是使用 li 标签,因为您希望它在您已经拥有的当前无序列表中。

<li class="dropdown">
  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
    Dropdown <span class="caret"></span>
  </a>
  <ul class="dropdown-menu">
    <li><%= link_to 'Sent Messages', messages_path, title: 'Received' %></li>
    <li><%= link_to 'Scheduled Messages', scheduled_message_path, title: 'To Be Sent' %></li>
  </ul>
</li>

下面是整个导航栏,排除列并添加 collapse class 用于移动显示。注意:您需要添加汉堡包 icon/link...请参阅下面的 html。

 <nav class="navbar navbar-default">
   <div class="container-fluid">
     <div class="navbar-header">
       <%= link_to 'Tulip Time Text', root_path, class: "navbar-brand", id: "logo", title: 'Send a Message' %>
     </div>

     <div class="collapse navbar-collapse">
       <ul class="nav navbar-nav">
         <li><%= link_to 'Numbers', people_path, title: 'Subscribers' %></li>
         <li class="dropdown">
           <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
             Dropdown <span class="caret"></span>
           </a>
           <ul class="dropdown-menu">
             <li><%= link_to 'Sent Messages', messages_path, title: 'Received' %></li>
             <li><%= link_to 'Scheduled Messages', scheduled_message_path, title: 'To Be Sent' %></li>
           </ul>
         </li>
         <li><%= link_to 'Statistics', subscribed_num_path, title: 'Total Number of Subscribers' %></li>
       </ul>
       <ul class="nav navbar-right">
         <% if current_user %>
           <li class="user-name">
             <%= link_to ('<i class="fa fa-user"></i> ' + truncate(current_user.email, length: 25)).html_safe, edit_user_password_path, title: 'Edit Profile' %>
           </li>
           <li class="logout">
             <%= link_to('Logout', destroy_user_session_path, class: 'btn btn-xs btn-danger', title: 'Logout', :method => :delete) %>
           </li>
         <% else %>
           <li class="pull-right">
             <%= link_to('Sign In', new_user_session_path, class: 'btn btn-primary', title: 'Sign In') %>
          </li>
        <% end %>
      </ul>
    </div>
  </div>
</nav>

您可能想要添加汉堡包 icon/link 以切换移动显示器上的导航栏...

<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
  <span class="sr-only">Toggle navigation</span>
  <span class="icon-bar"></span>
  <span class="icon-bar"></span>
  <span class="icon-bar"></span>
</button>

您可以在 Bootstrap 上看到导航栏的整个 HTML 结构 3 at their docs