Saat saya memicu tampilan modal di halaman saya, ini memicu bilah gulir menghilang. Ini adalah efek yang mengganggu karena halaman latar belakang mulai bergerak saat modal bergerak masuk / menghilang. Apakah ada obat untuk efek itu?
94
Jawaban:
Ini adalah fitur, kelas
modal-open
ditambahkan ke HTMLbody
saat Anda menampilkan modal, dan dihapus saat Anda menyembunyikannya.Ini membuat bilah gulir menghilang sejak bootstrap css mengatakan
Anda dapat menimpanya dengan menentukan
di css Anda sendiri .
sumber
<style></style>
ke dalamtemplateUrl
sehingga tidak mempengaruhi modals lain dalam aplikasi.Saya pikir mewarisi lebih baik daripada menggulir karena ketika Anda membuka modal, itu akan selalu terbuka dengan gulir, tetapi ketika Anda tidak memiliki gulungan, Anda akan mendapatkan masalah yang sama. Jadi saya hanya melakukan ini:
sumber
Saya dulu
Dalam hal ini Anda menghindari untuk menampilkan bilah gulir horizontal
sumber
Lebih baik menggunakan overflow-y: scroll dan hapus padding dari body, modal bootstrap menambahkan padding ke body halaman.
Kompatibel dengan browser IE: Browser IE melakukan hal yang sama secara default.
sumber
Terima kasih Tuhan saya menemukan posting ini! Saya menarik rambut saya mencoba mencari cara untuk mendapatkan kembali scrollbar saya saat menutup jendela menggunakan tautan dekat saya sendiri. Saya mencoba saran untuk CSS tetapi tidak berfungsi dengan benar. Setelah membaca
Saya datang dengan solusi menggunakan jquery, jadi jika ada orang lain yang memiliki masalah yang sama dan saran di atas tidak berfungsi -
sumber
data-dismiss="modal"
atribut ke tautan Anda alih-alih melakukan sesuatu yang khusus seperti ini. Bootstrap akan melakukan semua tindakan penutupan yang sesuai saat tautan itu diklik.Saya baru saja bermain dengan 'fitur' modals Bootstrap ini. Sepertinya
.modal
kelas punyaoverflow-y:auto;
Jadi pembungkus modal mendapatkan bilah gulirnya sendiri ketika modal itu sendiri menjadi tinggi.Jika Anda selalu menginginkan scrollbar (desainer sering melakukannya) Pertama atur badan
Lalu tangani
.modal-open
Biarkan scrollbar menonaktifkan pada tubuh tidak tersentuh dalam kasus ini
Semua jawaban lain di halaman ini terus membuat konten saya melonjak.
Perhatian!
Meskipun solusi ini bekerja untuk saya sepanjang waktu, kemarin saya mengalami masalah dalam menggunakan perbaikan ini ketika modal dapat diseret dan menjadi besar agar sesuai dengan layar (vertikal). Mungkin ada hubungannya dengan
position:sticky
elemen yang saya tambahkan?sumber
Lebih baik jika Anda akan membuat file css Anda sendiri untuk menyesuaikan bagian tertentu dari bootsrap Anda.
Jangan Ubah file css dari bootstrap karena itu akan mengubah semua yang ada di bootstrap Anda setelah Anda menggunakannya di bagian lain halaman Anda.
Jika halaman Anda agak panjang, secara otomatis akan menyediakan scroll bar. Dan ketika modal dibuka, itu akan menyembunyikan bilah gulir karena itulah yang dilakukan bootstrap sebagai default.
Untuk menghindari menyembunyikannya saat modal dibuka, cukup timpa dengan meletakkan kode css (di bawah) pada file css Anda sendiri.
hanya sebaliknya ...
sumber
Selain itu, jika modal popup perlu menggulir dengan konten di dalamnya dan orang tua harus tetap diam, tambahkan berikut ini ke Custom.css Anda (mengganti css)
sumber
modal bootstrap menambahkan padding setelah terbuka sehingga Anda dapat mencoba kode ini di css Anda sendiri
sumber
Hal ini mungkin disebabkan bahwa modal pertama (saat ditutup) menghapus kelas modal-buka dari elemen tubuh dan yang kedua tidak akan menambahkannya kembali saat memicu modal-buka.
Dalam hal ini saya akan menggunakan acara untuk memeriksa apakah modal telah ditutup / disembunyikan sepenuhnya dan membuka yang lain
Ini akan menunggu sampai modal pertama ditutup untuk memastikan modal-open dihapus dari tubuh dan ditambahkan kembali saat terbuka.
sumber
Saya sendiri baru saja mengalami masalah ini, dan menemukan pertanyaan ini dengan cepat membantu saya memahami apa yang menyebabkan perilaku tersebut. Jadi terima kasih.
Namun, menurut saya solusi CSS ini agak janggal. Kecuali, jika Anda secara khusus ingin menyimpan scrollbar (meskipun saya tidak dapat memikirkan alasannya).
Pada dasarnya Bootstrap menerapkan padding-right ke elemen tertentu untuk mengimbangi penghapusan scrollbar.
Oleh karena itu, yang perlu Anda lakukan adalah meletakkan pembungkus ekstra dengan bantalan nol-tepat di sekitar elemen bermasalah Anda (dan memindahkan kelas yang ditargetkan ke atasnya).
yaitu perubahan dari ini ...
... untuk ini...
sumber
Satu-satunya jawaban yang berhasil bagi saya adalah sebagai berikut:
sumber