[英]Why is the Bootstrap navbar on my Rails app vertical instead of horizontal?
我有一個Rails應用,引導程序上創建的導航欄應該是水平的,但它是垂直的。 這是應用程序的鏈接https://shielded-wave-99449.herokuapp.com/我已經在這里查看了其他文章(請參閱下文),但他們沒有解決問題。
我正在學習教程,並且代碼與他相同,並且他的導航欄正在運行。
這是本教程的GitHub存儲庫的鏈接以供參考: https : //github.com/StephenFiser/FrogBlog/blob/master/app/views/layouts/_navbar.html.erb
導航欄的代碼是局部的,有2個下拉菜單和1個正常菜單。 它們都垂直顯示。
這是我的導航欄局部_navbar.html.erb
#----------dropdown navbar menu code----------
<div class="collapse" id="exCollapsingNavbar">
<div class="collapse-bg p-a-1">
<div class='card'>
<ul class="list-group list-group-flush">
<li class="list-group-item">
<%= link_to 'Blog', root_path, class: "nav-link #{yield(:blog_active)}" %>
</li>
<li class="list-group-item">
<%= link_to 'About', about_path, class: "nav-link #{yield(:about_active)}" %>
</li>
<li class="list-group-item">
<%= link_to 'Contact', contact_path, class: "nav-link #{yield(:contact_active)}" %>
</li>
<% if author_signed_in? %>
<li class="list-group-item">
<%= link_to 'My posts', authors_posts_path, class: "nav-link #{yield(:author)}" %>
</li>
<li class="list-group-item">
<%= link_to 'Logout', destroy_author_session_path, method: :delete, class: "nav-link" %>
</li>
<% end %>
</ul>
</div>
</div>
</div>
#---------------normal non-dropdown navbar code-----------
<nav class="navbar navbar-light bg-faded">
<div class='container'>
<a class='navbar-brand' href='/'>
Frog<span class='light'>blog</span>
</a>
<button class="navbar-toggler hidden-sm-up pull-xs-right" type="button" data-toggle="collapse" data-target="#exCollapsingNavbar">
☰
</button>
<ul class="nav navbar-nav pull-sm-right hidden-xs-down">
<li class="nav-item">
<%= link_to 'Blog', root_path, class: "nav-link #{yield(:blog_active)}" %>
</li>
<li class="nav-item">
<%= link_to 'About', about_path, class: "nav-link #{yield(:about_active)}" %>
</li>
<li class="nav-item">
<%= link_to 'Contact', contact_path, class: "nav-link #{yield(:contact_active)}" %>
</li>
<% if author_signed_in? %>
<li class="nav-item dropdown author-nav">
<a class="nav-link dropdown-toggle <%= yield(:author) %>" href="#" id="navbarDropdownMenuLink"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<%= image_tag(current_author.gravatar_image_url) %>
<%= current_author.display_name %>
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<%= link_to 'My posts', authors_posts_path, class: "dropdown-item" %>
<%= link_to 'Account', authors_account_path, class: "dropdown-item" %>
<%= link_to 'Logout', destroy_author_session_path, method: :delete, class: "dropdown-item" %>
</div>
</li>
<% end %>
</ul>
</div>
</nav>
導航欄的容器似乎過高,需要對此進行調整。 那么我應該嘗試更換容器嗎? (如果是這樣,如何在導軌上找到這個CSS?)還是可以添加另一個引導類以使導航欄垂直?
如果使用的是Bootstrap 4,則應使用其提供的組件。 現在,您似乎正在嘗試重新發明輪子,這是您奮斗的主要原因。 您只是不使用Bootstrap類和組件。 這就是為什么您沒有得到預期的結果。
這是Bootstrap 4導航欄的工作代碼段:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"> <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script> <nav class="navbar navbar-expand-lg navbar-light bg-light"> <a class="navbar-brand" href="#">Navbar</a> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav mr-auto"> <li class="nav-item active"> <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a> </li> <li class="nav-item"> <a class="nav-link" href="#">Link</a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Dropdown </a> <div class="dropdown-menu" aria-labelledby="navbarDropdown"> <a class="dropdown-item" href="#">Action</a> <a class="dropdown-item" href="#">Another action</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="#">Something else here</a> </div> </li> <li class="nav-item"> <a class="nav-link disabled" href="#">Disabled</a> </li> </ul> <form class="form-inline my-2 my-lg-0"> <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search"> <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button> </form> </div> </nav>
因此,您的Rails代碼需要產生該HTML輸出,以便該示例導航欄起作用。
首先,調整該HTML模板以產生所需的結果,然后調整Rails代碼以產生該HTML。
參考:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.