【问题标题】:Twitter Bootstrap navbar right allign linkTwitter Bootstrap 导航栏右对齐链接
【发布时间】:2013-11-22 00:38:43
【问题描述】:

直升机,

Bootstrap 新手并尝试将其与 Rails 一起使用。我正在尝试创建一个导航栏并尝试显示导航栏最右侧的链接,但该链接不起作用。这是我的代码:

   <div class="navbar navbar-fixed-top">
   <div class="navbar-inner">  
   <div class="container">  

    <ul class="nav">  
       <li class="active">  
         <%= link_to "Rubyblog", root_path, :class => 'brand' %>
       </li>  

       <li>
         <a href="#">Edit Account</a>
       </li>

       <li>
         <a href="#">Categories</a>
       </li>

        <ul class = "nav pull-right">
          <a href="#">Current User</a>
        </ul>

    </ul> 

</div>  


我正在尝试在导航栏的最右侧显示最后一个链接“当前用户”。使用 div class"nav pull-right" 似乎不起作用:http://i.imgur.com/BEBcaIc.png

请让我知道我错过了什么/做错了什么。感谢您的投入。

谢谢! 迈克

编辑:回答我的问题:

从主要的“nav”类标签中拉出“nav pull-right”,它就起作用了。更新代码:

 <div class="navbar navbar-fixed-top">
 <div class="navbar-inner">  
 <div class="container">  

<ul class="nav">  
   <li class="active">  
     <%= link_to "Rubyblog", root_path, :class => 'brand' %>
   </li> 

   <% if user_signed_in? %>

      <li>
        <%= link_to 'Edit Account', edit_user_registration_path %>
      </li>

      <li>
        <%= link_to 'Categories', categories_path %>
      </li>

      <% if current_user.has_role? :admin %>
         <li>
           <%= link_to 'Users', users_path %>
         </li>
      <%end%>
   <%else%>
      <li>
        <%= link_to 'Sign up', new_user_registration_path %>
      </li>
   <% end %>
</ul> 

   <ul class = "nav pull-right">
      <li><%= link_to 'Welcome, '+current_user.name, edit_user_registration_path %></li>
   </ul>

【问题讨论】:

    标签: ruby-on-rails twitter-bootstrap navbar


    【解决方案1】:

    编辑:回答我的问题:

    从主要的“nav”类标签中拉出“nav pull-right”,它就起作用了。在我的问题的编辑部分更新了代码

    【讨论】:

      【解决方案2】:

      您是否尝试过让当前用户如下所示:

      <li class="pull-right">
          <a href="#">Current User</a>
      </li>
      

      我很确定它失去样式的原因是因为您将 nav 嵌套在 nav 中。

      【讨论】:

      • 我做到了,但这也不起作用。该链接看起来不错,但它没有位于最右边:i.imgur.com/A3jtFqZ.png
      【解决方案3】:

      我想你想把导航栏分成navbar-leftnavbar-right

      <nav class="navbar navbar-fixed-top" role="navigation">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
            <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>
        </div>
      
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
          <div class="navbar-inner">  
      
            <ul class="nav navbar-nav">  
              <li class="active">  
              <%= link_to "Rubyblog", root_path, :class => 'brand' %>
              </li>
      
              <li>
              <a href="#">Edit Account</a>
              </li>
      
              <li>
              <a href="#">Categories</a>
              </li>
            </ul>
      
            <ul class = "nav navbar-nav navbar-right">
              <a href="#">Current User</a>
            </ul>
      
          </div> 
        </div>
      </nav>
      

      bootstrap docs 谈到这一点并说他们与pull-right 有点不同 - 这可能解释了您遇到问题的原因。我还没有测试过以上,但这可能是一个好的开始。

      【讨论】:

      • 我更新了我的帖子以尝试更完整。再说一次,我还没有测试过,但它应该能让你更接近。