Saya menggunakan bootstrap di situs saya dan saya mengalami masalah dengan navbar fixed top. Ketika saya hanya menggunakan navbar biasa, semuanya baik-baik saja. Namun, ketika saya mencoba untuk beralih ke navbar fixed top, semua konten lain di situs bergeser seperti navbar tidak ada dan navbar tumpang tindih. ini pada dasarnya bagaimana saya menjelaskannya:
.navbar.navbar-fixed-top
.navbar-inner
.container
.container
.row
//yield content
saya mencoba untuk menyalin contoh bootstraps dengan tepat tetapi masih memiliki masalah ini hanya ketika menggunakan navbar fixed top. apa yang saya lakukan salah?
sumber
Seperti yang orang lain katakan menambahkan padding-top pada bodi sangat bagus. Tetapi ketika Anda membuat layar lebih sempit (untuk lebar ponsel) ada celah antara navbar dan tubuh. Juga, navbar yang penuh sesak dapat membungkus ke baris multi-baris, menimpa beberapa konten lagi.
Ini memecahkan masalah semacam ini bagi saya
Ini membuat padding 40px secara default dan 0px ketika di bawah lebar 768px (yang menurut bootstrap's docs adalah cutoff layout ponsel di mana celah akan dibuat)
sumber
body { padding-top: 40px; }
sudah cukupsolusi yang jauh lebih berguna untuk referensi Anda, ini berfungsi sempurna di semua proyek saya:
ubah baris pertama Anda dari
untuk
sumber
Masalah ini diketahui dan ada solusinya di situs bootstrap twitter:
Ini bekerja untuk saya:
sumber
@Ryan, Anda benar, mengkodekan tinggi akan membuatnya berfungsi buruk jika ada navbar khusus. Ini adalah kode yang saya gunakan untuk BS 3.0.0 dengan senang hati:
sumber
parseInt
nilai css dari ketinggian, saya hanya menggunakan$('#main-navbar').height()
, tapi selain itu ini sangat membantu dan menyelesaikan masalah saya, terima kasih.Saya meletakkan ini di depan wadah hasil:
Saya suka pendekatan ini karena ini mendokumentasikan peretasan yang diperlukan untuk membuatnya berfungsi, plus itu juga berfungsi untuk mobile nav.
EDIT - ini bekerja lebih baik:
sumber
Masalahnya adalah dengan navbar-fix-top, yang akan melapisi konten Anda kecuali menentukan body-padding. Tidak ada solusi yang disediakan di sini berfungsi dalam 100% kasus. Solusi JQuery berkedip / menggeser halaman setelah halaman dimuat, yang terlihat aneh.
Solusi nyata bagi saya adalah tidak menggunakan navbar-fix-top, tetapi navbar-static-top.
sumber
Seperti yang telah saya posting di pertanyaan yang sama, saya sudah sukses dengan membuat bar nav tetap non-tepat tepat sebelum bar nav tetap nyata saya.
Spasi bekerja dengan baik pada semua ukuran layar.
sumber
Solusi untuk Bootstrap 4, ini berfungsi sempurna di semua proyek saya:
ubah baris pertama Anda dari
untuk
Referensi dokumentasi bootstrap
Sudah waktunya mereka melakukan ini dengan benar: D
sumber
Semua solusi sebelumnya hard-code 40 piksel khusus ke html atau CSS dalam satu atau lain cara. Bagaimana jika navbar berisi ukuran font atau gambar yang berbeda? Bagaimana jika saya punya alasan kuat untuk tidak mengacaukan bantalan tubuh ? Saya telah mencari solusi untuk masalah ini, dan inilah yang saya temukan:
Anda dapat memindahkannya ke atas atau ke bawah dengan menyesuaikan '1'. Tampaknya bekerja untuk saya terlepas dari ukuran konten di navbar, sebelum dan sesudah mengubah ukuran.
Saya ingin tahu apa yang orang lain pikirkan tentang ini: tolong bagikan pemikiran Anda. (Ini akan di refactored agar tidak diulang, btw.) Selain menggunakan jQuery, adakah alasan lain untuk tidak mendekati masalah dengan cara ini? Saya bahkan sudah membuatnya bekerja dengan navbar sekunder seperti ini:
PS: Di atas ada di Bootstrap 2.3.2 - apakah akan bekerja di 3.x Selama nama kelas generik tetap ... pada kenyataannya, itu harus bekerja independen dari bootstrap, kan?
EDIT: Ini adalah fungsi jquery lengkap yang menangani dua navar tetap yang responsif dengan ukuran dinamis. Ini membutuhkan 3 kelas html (atau bisa menggunakan id): user-top, admin-top, dan contentwrap:
sumber
Ubah saja
fixed-top
dengansticky-top
. dengan cara ini Anda tidak perlu menghitung padding.Dan itu berhasil !!
sumber
Untuk menangani garis pembungkus di menu-bar, terapkan id ke navbar, seperti ini:
dan tambahkan skrip kecil ini di kepala setelah menyertakan jquery, seperti ini:
Dengan begitu, bantalan atas bodi akan otomatis disesuaikan.
sumber
untuk Bootstrap 3. +, saya akan menggunakan CSS berikut ini untuk memperbaiki navbar-fixed-top dan masalah jangkar jump overlap berdasarkan https://github.com/twbs/bootstrap/issues/1768
sumber
gunakan kelas ini di dalam nav tag
Untuk bootstrap 4
sumber
Yang harus Anda lakukan adalah
sumber
Lebih jauh ke jawaban Nick Bisby, jika Anda mendapatkan masalah ini menggunakan HAML di rel dan Anda telah menerapkan perbaikan Roberto Barros di sini:
(Lihat https://github.com/seyhunak/twitter-bootstrap-rails/issues/91 )
... Anda harus meletakkan body CSS sebelum pernyataan yang diminta sebagai berikut:
Jika pernyataan membutuhkan sebelum CSS tubuh, itu tidak akan berlaku.
sumber
Saya akan melakukan ini:
Ini harus memastikan blok nav tidak meregangkan downpage dan mencakup konten halaman.
sumber
Saya baru saja membungkus navbar menjadi
Tidak ada fokus mewah tapi itu berhasil ..
sumber
nav-? ??
diwakili?