Saya mencoba membuat submenu bootstrap twitter di menu dropdown, tetapi saya mendapat masalah: Saya memiliki menu dropdown di sudut kanan atas halaman dan menu itu memiliki satu submenu lagi. Namun, saat submenu terbuka - submenu tidak muat di jendela dan terlalu banyak ke kanan, sehingga pengguna hanya dapat melihat huruf pertama. Bagaimana cara membuat submenu itu terbuka bukan ke kanan, tapi ke kiri?
javascript
jquery
css
twitter-bootstrap
kovpack
sumber
sumber
.pull-right
pada.dropdown
wadah.Jawaban:
Cara termudah adalah dengan menambahkan
pull-left
kelas kedropdown-submenu
jsfiddle: DEMO
sumber
.dropdown-submenu.pull-left>.dropdown-menu { width: 100%; }
Bukan solusi yang elegan, tetapi tampaknya berhasil jsfiddle.net/r1v90tasJika saya memahami hak ini, bootstrap menyediakan kelas CSS hanya untuk kasus ini. Tambahkan 'pull-right' ke menu 'ul':
..dan hasil akhirnya adalah bahwa opsi menu muncul rata kanan, sejalan dengan tombol drop-down.
sumber
pull-right
kelas untuk mencapai ini.Kelas saat ini
.dropdown-submenu > .dropdown-menu
memilikileft: 100%;
. Jadi, jika Anda ingin membuka submenu di sisi kiri, ganti pengaturan tersebut ke posisi kiri negatif. Sebagai contohleft: -95%;
. Sekarang Anda akan mendapatkan submenu di sisi kiri, dan Anda dapat mengubah pengaturan lain untuk mendapatkan pratinjau yang sempurna.Disini adalah DEMO
EDIT: Pertanyaan OP dan jawaban saya adalah dari Agustus 2012. Sementara itu, Bootstrap berubah, jadi sekarang Anda memiliki kelas .pull-left. Saat itu, jawaban saya benar. Sekarang Anda tidak perlu menyetel css secara manual, Anda memiliki kelas .pull-left itu.
EDIT 2: Demo tidak berfungsi, karena Bootstrap mengubah URL-nya. Ubah saja sumber daya eksternal di jsfiddle dan ganti dengan yang baru.
sumber
left: -90%;
(cara lain saya tidak bisa memindahkan mouse saya ke submenu itu, karena itu menghilang).Jika Anda menggunakan bootstrap v4, ada cara baru untuk melakukannya.
Anda harus menggunakan
.dropdown-menu-right
pada.dropdown-menu
elemen.Tautan ke kode: https://getbootstrap.com/docs/4.0/components/dropdowns/#menu-items
sumber
dropleft
dandropright
tetapi konteks jawabannya benar. Terima kasih!Cara yang benar untuk melakukan tugas tersebut adalah:
sumber
.dropdown-submenu { position: relative; text-align:right; }
Untuk memposisikan teks ke kanan saat panah ke kiri.Saya telah membuat fungsi javascript yang terlihat jika dia memiliki cukup ruang di sisi kanan. Jika sudah, dia akan menampilkannya di sisi kanan, kalau tidak dia akan menampilkannya di sisi kiri
Diuji di:
Javascript:
karena saya tidak ingin menambahkan perbaikan ini pada setiap item menu yang saya buat kelas baru di atasnya. tempatkan menu tetap di ul:
Saya harap ini berhasil untuk Anda.
ps. bug kecil di safari dan chrome, hover pertama akan menempatkannya ke mutch ke kiri akan memperbarui posting ini jika saya memperbaikinya.
sumber
Jika Anda hanya memiliki satu tingkat dan Anda menggunakan bootstrap 3 add
pull-right
keul
elemensumber
Sebenarnya - jika Anda baik-baik saja dengan mengapung
dropdown
pembungkusnya - saya merasa itu semudah menambahkannavbar-right
kedropdown
.Ini sepertinya curang, karena tidak ada di bilah navigasi, tetapi berfungsi dengan baik untuk saya.
Anda kemudian dapat menyesuaikan floating lebih lanjut dengan
pull-left
langsung didropdown
...... atau sebagai pembungkus di sekitarnya ...
sumber
Jika Anda menggunakan LESS CSS, saya menulis sedikit mixin untuk memindahkan dropdown dengan panah penghubung:
Kemudian untuk memindahkan a
.dropdown-menu
dengan iddropdown-menu-x
misalnya, Anda dapat melakukan:sumber
Saya telah membuat fungsi javascript yang terlihat jika dia memiliki cukup ruang di sisi kanan. Jika sudah, dia akan menampilkannya di sisi kanan, kalau tidak dia akan menampilkannya di sisi kiri. Sekali lagi jika memiliki cukup ruang di sisi kanan, itu akan menunjukkan sisi kanan. itu adalah lingkaran ...
});
sumber
Apakah Anda menggunakan bootstrap versi terbaru? Saya telah mengadaptasi html dari contoh Fluid Layout seperti yang ditunjukkan di bawah ini. Saya menambahkan drop down dan meletakkannya terjauh ke sisi kanan dengan menambahkan
pull-right
kelas. Saat mengarahkan kursor ke menu drop-down, maka secara otomatis ditarik ke kiri dan tidak ada yang disembunyikan - semua teks menu terlihat. Saya belum pernah menggunakan css khusus.sumber
Satu-satunya hal yang harus Anda lakukan adalah
dari menu yang ingin Anda tampilkan di sisi KANAN.
sumber