Da Ihr Inhalt dynamisch sein muss, können Sie die CSS-Eigenschaften des Modals dynamisch bei einem show
Ereignis des Modals festlegen, wodurch die Größe des Modals über seine Standardspezifikationen hinaus geändert wird. Der Grund dafür, dass Bootstrap eine maximale Höhe auf den Modalkörper mit der folgenden CSS-Regel anwendet:
.modal-body {
position: relative;
overflow-y: auto;
max-height: 400px;
padding: 15px;
}
So können Sie Inline-Stile mithilfe der jquery- css
Methode dynamisch hinzufügen :
Für neuere Versionen von Bootstrap verwenden show.bs.modal
$('#modal').on('show.bs.modal', function () {
$(this).find('.modal-body').css({
width:'auto', //probably not needed
height:'auto', //probably not needed
'max-height':'100%'
});
});
Für ältere Versionen von Bootstrap verwenden show
$('#modal').on('show', function () {
$(this).find('.modal-body').css({
width:'auto', //probably not needed
height:'auto', //probably not needed
'max-height':'100%'
});
});
oder verwenden Sie eine CSS-Regel, um Folgendes zu überschreiben:
.autoModal.modal .modal-body{
max-height: 100%;
}
und fügen Sie diese Klasse autoModal
Ihren Zielmodalen hinzu.
Ändern Sie den Inhalt dynamisch in der Geige. Sie werden sehen, dass die Größe des Modals entsprechend geändert wird. Demo
Neuere Version von Bootstrap siehe die verfügbaren event names
.
- show.bs.modal Dieses Ereignis wird sofort ausgelöst, wenn die Methode show instance aufgerufen wird. Wenn dies durch einen Klick verursacht wird, ist das angeklickte Element als relatedTarget-Eigenschaft des Ereignisses verfügbar.
- show.bs.modal Dieses Ereignis wird ausgelöst, wenn das Modal für den Benutzer sichtbar gemacht wurde (wartet, bis die CSS-Übergänge abgeschlossen sind). Wenn dies durch einen Klick verursacht wird, ist das angeklickte Element als relatedTarget-Eigenschaft des Ereignisses verfügbar.
- hide.bs.modal Dieses Ereignis wird sofort ausgelöst, wenn die Methode hide hide aufgerufen wurde.
- hidden.bs.modal Dieses Ereignis wird ausgelöst, wenn das Modal nicht mehr für den Benutzer ausgeblendet ist (wartet, bis die CSS-Übergänge abgeschlossen sind).
- load.bs.modal Dieses Ereignis wird ausgelöst, wenn das Modal Inhalte mit der Remote-Option geladen hat.
Ältere Version von Bootstrap modal events unterstützt.
- Show - Dieses Ereignis wird sofort ausgelöst, wenn die show instance-Methode aufgerufen wird.
- gezeigt - Dieses Ereignis wird ausgelöst, wenn das Modal für den Benutzer sichtbar gemacht wurde (wartet, bis die CSS-Übergänge abgeschlossen sind).
- hide - Dieses Ereignis wird sofort ausgelöst, wenn die Methode "hide instance" aufgerufen wurde.
- versteckt - Dieses Ereignis wird ausgelöst, wenn das Modal nicht mehr für den Benutzer ausgeblendet ist (wartet, bis die CSS-Übergänge abgeschlossen sind).
$('#modal').on('show.bs.modal', function () {
getbootstrap.com/javascript/#modals-eventsDas hat bei mir funktioniert, keines der oben genannten hat funktioniert.
quelle
Ich konnte die Antwort von PSL nicht für mich arbeiten lassen, also musste ich nur das Div einstellen, das den modalen Inhalt enthält
style="display: table;"
. Der modale Inhalt selbst sagt aus, wie groß er sein möchte und der modale nimmt ihn auf.quelle
Es gibt viele Möglichkeiten, dies zu tun, wenn Sie CSS schreiben und dann Folgendes hinzufügen möchten
Für den Fall, dass Sie Inline hinzufügen möchten
Nicht
display:table;
zur Klasse für modalen Inhalt hinzufügen . Es hat Ihre Arbeit erledigt, aber Ihr Modal für große Größen verfügbar gemacht, siehe folgende Screenshots. Das erste Bild ist, wenn Sie dem Modal-Dialog einen Stil hinzufügen, wenn Sie dem Modal-Inhalt einen Stil hinzufügen. es sieht dispositioniert aus.quelle
Für Bootstrap 3 verwenden Sie gerne
quelle
Einfache CSS-Arbeit für mich
quelle
Ich überschreibe einfach das CSS:
quelle
setzen
width:fit-content
auf den Modal div.quelle
Sie können dies tun, wenn Sie das jquery-Dialog-Plugin von gijgo.com verwenden und die Breite auf auto einstellen.
Sie können den Benutzern auch erlauben, die Größe zu steuern, wenn Sie die Größenänderung auf true setzen. Eine Demo dazu finden Sie unter http://gijgo.com/Dialog/Demos/bootstrap-modal-resizable
quelle
Eine einfache CSS-Lösung, die das Modal vertikal und horizontal zentriert:
quelle
Für Bootstrap 2 Modellhöhe automatisch dynamisch anpassen
quelle
Ich hatte das gleiche Problem mit Bootstrap 3 und der Höhe des Modal-Body-Divs, die nicht größer als 442px sein wollte. Dies war alles, was CSS brauchte, um es in meinem Fall zu beheben:
quelle
Meine Lösung bestand nur darin, den folgenden Stil hinzuzufügen.
<div class="modal-body" style="clear: both;overflow: hidden;">
quelle
Ab Bootstrap 4 hat es einen Stil von:
Wenn Sie also die modale Breite auf eine größere Breite ändern möchten, würde ich vorschlagen, dies in Ihrem CSS zu verwenden, zum Beispiel:
Beachten Sie, dass die Einstellung
width: 87vw;
die Bootstraps nicht überschreibtmax-width: 500px;
.quelle
Meine Suche führte mich hierher, also könnte ich auch meine Idee im Wert von zwei Cent hinzufügen. Wenn Sie Monkey-freundliches Twitter Bootstrap-Modal verwenden , können Sie Folgendes tun:
Hoffe das hilft.
quelle