Lebih
Bootstrap 4 navbar item pada sisi kanan
Aku hanya beralih ke bootstrap 4 dan pengerjaan ulang semua html saya dan scss untuk bekerja dengan itu dan saya cant tampaknya untuk menemukan cara untuk menempatkan sekelompok nav-item pada sisi kanan navbar. Ini adalah saya navbar kode:
<nav class="navbar navbar-full navbar-dark bg-primary">
<button class="navbar-toggler hidden-md-up" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation"></button>
<%= link_to "Living Recipe", recipes_path(sort_attribut: "popularity", sort_order: :desc), class: "navbar-brand" %>
<div class="collapse navbar-toggleable-sm" id="navbarResponsive">
<ul class="nav navbar-nav float-md-left">
<li class="nav-item">
<%= form_tag(recipes_path, :method => "get", id: "search-form", class: "form-inline") do %>
<%= text_field_tag :search, params[:search], placeholder: "Search Recipes", class: "form-control col-md-8" %>
<% end %>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="http://example.com" id="responsiveNavbarDropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Browse</a>
<div class="dropdown-menu" aria-labelledby="responsiveNavbarDropdown">
<%= link_to "Popular", recipes_path(sort_attribute: "popularity", sort_order: :desc), class: "dropdown-item" %>
<%= link_to "Newest", recipes_path(sort_attribute: "created_at", sort_order: :desc), class: "dropdown-item" %>
<%= link_to "Most Updated", recipes_path(sort_attribute: "most_active", sort_order: :desc), class: "dropdown-item" %>
<%= link_to "Most Saved", recipes_path(sort_attribute: "save_count", sort_order: :desc), class: "dropdown-item" %>
</div>
</li>
</ul>
<ul class="nav navbar-nav float-md-right">
<% if user_signed_in? %>
<li class="dropdown">
<a class="nav-link dropdown-toggle" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<%= current_user.displayname.present? ? "D-ring" : current_user.firstname %>
</a>
<div class="dropdown-menu" aria-labelledby="responsiveNavbarDropdown">
<%= link_to "Profile", user_path(current_user.id), class: "dropdown-item" %>
<%= link_to "Recipe Box", user_saved_recipes_path(current_user.id), class: "dropdown-item" %>
<%= link_to "Add Recipe", new_recipe_path, class: "dropdown-item" %>
<%= link_to "Submitted Recipes", user_path(current_user.id), class: "dropdown-item" %>
<%= link_to "Sign Out", destroy_user_session_path, :method => :delete, class: "dropdown-item" %>
</div>
</li>
<% else %>
<li class="nav-item">
<%= link_to "Create Account", '', data: {:'toggle' => 'modal', :'target' => '#signupModal'}, class: "nav-link" %>
</li>
<li class="nav-item">
<%= link_to "Login", '', data: {:'toggle' => 'modal', :'target' => '#loginModal'}, class: "nav-link" %>
</li>
<% end %>
</ul>
</div>
</nav>
Dan ini adalah screenshot dari apa yang tampak seperti
207
8
TL;DR:
Membuat yang lain
<ul class="navbar-nav ml-auto">
untuk navbar item yang anda inginkan di sebelah kanan.ml-auto
akan menarik andanavbar-nav
ke kanan di manamr-auto
akan menariknya ke kiri.Diuji terhadap Bootstrap v4.1.3
Seperti yang anda lihat tambahan styling aturan yang telah ditambahkan ke akun untuk beberapa keanehan di Stackoverflows kotak pratinjau. Anda harus dapat dengan aman mengabaikan aturan-aturan dalam proyek anda.
Sebagai v4.0.0 hal ini tampaknya menjadi cara resmi untuk melakukannya.
EDIT: aku dimodifikasi Posting untuk mencakup dropdown ditempatkan pada sisi kanan navbar seperti yang disarankan oleh @Bruno. Itu membutuhkan
kiri
dankanan
atribut untuk menjadi terbalik. Saya menambahkan ekstra cuplikan css untuk awal kode contoh. Harap dicatat, bahwa contoh yang menunjukkan versi mobile ketika anda klikRun code snippet
tombol. Untuk melihat versi desktop, anda harus klikMemperluas cuplikan
tombol.Termasuk dalam stylesheet anda harus melakukan trik.
Di versi 4, lebih mudah. Hanya menempatkan
ml-auto
kelasul
seperti:Ini harus bekerja untuk alpha 6. Kuncinya adalah kelas "bapak-auto" pada navigasi sebelah kiri, yang akan mendorong hak nav ke kanan. Anda juga perlu menambahkan navbar-toggleable-md atau itu akan menumpuk di kolom bukannya turut. Catatan saya didn't tambahkan sisa beralih item (misalnya tombol toggle), saya menambahkan hanya cukup untuk mendapatkan itu untuk diformat seperti yang diminta. Di sini lebih lengkap contoh https://v4-alpha.getbootstrap.com/examples/navbars/.
Saya telah bekerja codepen dengan kiri dan kanan sejajar link nav bahwa semua runtuh ke menu responsif bersama-sama menggunakan
.membenarkan-konten-antara
pada orang tua tag: https://codepen.io/epan/pen/bREVVW?editors=1000Di Bootstrap 4 alpha-6 versi, Seperti navbar adalah menggunakan model flex, anda dapat menggunakan
membenarkan-content-end
di orang tua's div dan menghapusmr-auto
.Ini bekerja seperti pesona :)
Dengan Bootstrap v4.0.0-alpha.6: Dua
<ul>
s (.navbar-na
), satu.mr-auto
dan satu.ml-auto
:Dalam kasus saya, saya sedang mencari solusi yang memungkinkan one dari navbar item harus benar selaras. Dalam rangka untuk melakukan ini, anda harus menambahkan
style="width:100%;"
ke<ul class="navbar-nav">
dan kemudian tambahkanml-auto
kelas untuk anda navbar item.Di sini dan Contoh yang mudah.