Saya mencoba yang berikut ini:
<div class="modal hide fade modal-admin" id="testModal" style="display: none;">
<div class="modal-header">
<a data-dismiss="modal" class="close">×</a>
<h3 id='dialog-heading'></h3>
</div>
<div class="modal-body">
<div id="dialog-data"></div>
</div>
<div class="modal-footer">
<a data-dismiss="modal" class="btn" >Close</a>
<a class="btn btn-primary" id="btnSaveChanges">Save changes</a>
</div>
</div>
Dan Javascript ini:
$('.modal-admin').css('width', '750px');
$('.modal-admin').css('margin', '100px auto 100px auto');
$('.modal-admin').modal('show')
Hasilnya bukan yang saya harapkan. Modal kiri atas diposisikan di tengah layar.
Ada yang bisa bantu saya. Adakah orang lain yang mencoba ini? Saya menganggap itu bukan hal yang aneh untuk dilakukan.
Jawaban:
MEMPERBARUI:
Dalam
bootstrap 3
Anda perlu mengubah modal-dialog. Jadi dalam hal ini Anda dapat menambahkan kelasmodal-admin
di tempatmodal-dialog
berdiri.Jawaban Asli (Bootstrap <3)
Apakah ada alasan tertentu Anda mencoba mengubahnya dengan JS / jQuery?
Anda dapat dengan mudah melakukannya hanya dengan CSS, yang berarti Anda tidak perlu melakukan gaya Anda dalam dokumen. Di file CSS kustom Anda sendiri, Anda menambahkan:
Dalam kasus Anda:
Alasan saya meletakkan tubuh di depan pemilih adalah agar dibutuhkan prioritas yang lebih tinggi daripada standar. Dengan cara ini Anda dapat menambahkannya ke file CSS khusus, dan tanpa khawatir perbarui Bootstrap.
sumber
.modal .modal-dialog { width: 800px; }
Posisi kiri dihitung secara otomatis.Jika Anda ingin membuatnya responsif hanya dengan CSS, gunakan ini:
Catatan 1: Saya menggunakan
.large
kelas, Anda juga bisa melakukan ini secara normal.modal
Catatan 2: Dalam Bootstrap 3, margin-kiri negatif mungkin tidak diperlukan lagi (tidak dikonfirmasi secara pribadi)
Catatan 3: Di Bootstrap 3 dan 4, ada
modal-lg
kelas. Jadi ini mungkin cukup, tetapi jika Anda ingin membuatnya responsif, Anda masih memerlukan perbaikan yang saya berikan untuk Bootstrap 3.Dalam beberapa
fixed
modals aplikasi digunakan, dalam hal ini Anda dapat mencobawidth:80%; left:10%;
(rumus: kiri = 100 - lebar / 2)sumber
@media (min-width: 400px) { body .modal-lrg{ width: 80%; /* respsonsive width */ margin-left:-40%; /* width/2) */ } }
Jika Anda menggunakan Bootstrap 3, Anda perlu mengubah modal-dialog div dan bukan modal itu seperti yang ditunjukkan dalam jawaban yang diterima. Juga, untuk menjaga sifat responsif Bootstrap 3, penting untuk menulis CSS override menggunakan kueri media sehingga modal akan menjadi lebar penuh pada perangkat yang lebih kecil.
Lihat JSFiddle ini untuk bereksperimen dengan lebar yang berbeda.
HTML
CSS
sumber
Jika Anda menginginkan sesuatu yang tidak merusak desain relatif coba ini:
Seperti, @Marco Johannesen mengatakan, "tubuh" sebelum pemilih adalah sehingga dibutuhkan prioritas yang lebih tinggi daripada standar.
sumber
margin-left:auto; margin-right:auto;
bukannyaauto
semua jalan di sekitartop: 30%
, persentase tergantung pada konten di dalamnya.Dalam Bootstrap 3+ cara yang paling tepat untuk mengubah ukuran dialog modal adalah dengan menggunakan properti ukuran. Di bawah ini adalah contoh, perhatikan
modal-sm
sepanjangmodal-dialog
kelas, menunjukkan modal kecil. Ini bisa berisi nilaism
untuk kecil,md
untuk menengah danlg
besar.sumber
modal-md
kelas.Untuk
Bootstrap 3
begini caranya.Tambahkan
modal-wide
gaya ke markup HTML Anda (seperti yang diadaptasi dari contoh dalam Bootstrap 3 docs )dan tambahkan CSS berikut
Tidak perlu untuk menimpa
margin-left
dalamBootstrap 3
untuk mendapatkan ini akan berpusat sekarang.sumber
modal-wide
kelas, yang berarti bahwa itu bukan kelas "internal" Bootstrap. Anda bisa melakukannya#myModal .modal-dialog { width: 80%; }
Di Bootstrap 3 yang Anda butuhkan adalah ini
Sebagian besar jawaban di atas tidak berhasil untuk saya !!!
Tampilkan cuplikan kode
sumber
Solusi diambil dari halaman ini
sumber
Di v3 dari Bootstrap ada metode sederhana untuk membuat modal lebih besar. Cukup tambahkan modal-lg di sebelah modal-dialog.
sumber
Bootstrap 3: Untuk menjaga fitur responsif untuk perangkat kecil dan ekstra kecil, saya melakukan hal berikut:
sumber
Inilah yang saya lakukan, di custom.css saya menambahkan baris ini dan itu saja.
Jelas, Anda dapat mengubah ukuran lebarnya.
sumber
Jika Bootstrap> 3, Cukup tambahkan gaya ke modal Anda.
sumber
Saya telah menemukan solusi ini yang bekerja lebih baik untuk saya. Anda bisa menggunakan ini:
atau ini tergantung kebutuhan Anda:
Lihat pos tempat saya menemukan itu: https://github.com/twitter/bootstrap/issues/675
sumber
FYI Bootstrap 3 menangani properti kiri secara otomatis. Jadi cukup menambahkan CSS ini akan mengubah lebar dan tetap di tengah:
sumber
Pertahankan desain responsif, atur lebar sesuai keinginan Anda.
Tetap sederhana.
sumber
Mengubah kelas
model-dialog
Anda dapat mencapai hasil yang diharapkan. Trik kecil ini bekerja untuk saya. Semoga ini akan membantu Anda untuk menyelesaikan masalah ini.sumber
Dengan Bootstrap 3, semua yang diperlukan adalah nilai persentase yang diberikan ke dialog modal melalui CSS
CSS
sumber
Saya menggunakan kombinasi CSS dan jQuery, bersama dengan petunjuk di halaman ini, untuk membuat lebar dan tinggi cairan menggunakan Bootstrap 3.
Pertama, beberapa CSS untuk menangani lebar dan scrollbar opsional untuk area konten
Dan kemudian beberapa jQuery untuk menyesuaikan ketinggian area konten jika diperlukan
Penulisan lengkap dan kode di http://scottpdawson.com/development/creating-a-variable-width-modal-dialog-using-bootstrap-3/
sumber
Di Bootstrap 3 dengan CSS Anda cukup menggunakan:
Ini memastikan Anda tidak merusak desain halaman, karena kami menggunakan
.modal-dialog
alih-alih.modal
yang akan diterapkan bahkan pada bayangan.sumber
Coba sesuatu seperti yang berikut ini (lihat contoh live jsfiddle di sini: http://jsfiddle.net/periklis/hEThw/1/ )
sumber
Daripada menggunakan persentase untuk membuat modal responsif, saya menemukan ada lebih banyak kontrol yang diambil dari menggunakan kolom dan elemen responsif lainnya yang sudah dibangun ke dalam bootstrap.
Untuk membuat modal responsif / ukuran jumlah kolom:
1) Tambahkan div tambahan di sekitar modal-dialog div dengan kelas .container -
2) Tambahkan sedikit CSS untuk membuat modal menjadi lebar penuh -
3) Atau tambahkan kelas tambahan jika Anda memiliki modals lain -
4) Tambahkan baris / kolom jika Anda ingin berbagai ukuran modals -
sumber
Tambahkan berikut ini di file css Anda
sumber
Gunakan Skrip Di Bawah Ini:
Demo :
sumber
Saya memecahkannya untuk Bootstrap 4.1
Campuran dari solusi yang diposting sebelumnya
sumber
Mencapai hasil yang diharapkan menggunakan,
sumber
Bootstrap 3.xx
Perhatikan saya menambahkan .employeeModal class di div kedua. Kemudian gaya kelas itu.
sumber
Saya menggunakan cara ini, dan itu berfungsi sempurna untuk saya
sumber
Solusi berbasis kurang (tidak ada js) untuk Bootstrap 2:
Lalu di mana pun Anda ingin menentukan lebar modal:
sumber
Saya menggunakan SCSS, dan modal yang sepenuhnya responsif:
sumber
atau
sumber