Verwenden Sie das modale JavaScript-Plugin von Bootstrap, um Ihrer Website Dialoge für Leuchtkästen, Benutzerbenachrichtigungen oder vollständig benutzerdefinierte Inhalte hinzuzufügen.
Wie es funktioniert
Bevor Sie mit der modalen Komponente von Bootstrap beginnen, lesen Sie unbedingt das Folgende, da sich unsere Menüoptionen kürzlich geändert haben.
Modale werden mit HTML, CSS und JavaScript erstellt. Sie werden über allem anderen im Dokument positioniert und entfernen den Bildlauf aus dem <body>, sodass der modale Inhalt stattdessen gescrollt wird.
Durch Klicken auf den modalen „Hintergrund“ wird das Modal automatisch geschlossen.
Bootstrap unterstützt jeweils nur ein modales Fenster. Verschachtelte Modale werden nicht unterstützt, da wir glauben, dass sie eine schlechte Benutzererfahrung darstellen.
Modale verwenden position: fixed, was manchmal etwas speziell in Bezug auf die Wiedergabe sein kann. Platzieren Sie Ihr modales HTML nach Möglichkeit an einer Position der obersten Ebene, um potenzielle Störungen durch andere Elemente zu vermeiden. Sie werden wahrscheinlich auf Probleme stoßen, wenn Sie ein .modalin ein anderes festes Element verschachteln.
Aufgrund dessen, wie HTML5 seine Semantik definiert, hat das autofocusHTML-Attribut keine Wirkung in Bootstrap-Modalen. Um den gleichen Effekt zu erzielen, verwenden Sie ein benutzerdefiniertes JavaScript:
Lesen Sie weiter für Demos und Nutzungsrichtlinien.
Beispiele
Modale Komponenten
Unten ist ein statisches modales Beispiel (was bedeutet , dass positionund displayüberschrieben wurden). Enthalten sind die modale Kopfzeile, der modale Hauptteil (erforderlich für padding) und die modale Fußzeile (optional). Wir bitten Sie, wann immer möglich modale Kopfzeilen mit Ablehnungsaktionen einzuschließen oder eine andere ausdrückliche Ablehnungsaktion bereitzustellen.
Modaler Titel
Modalkörpertext kommt hierher.
Live-Demo
Schalten Sie eine funktionierende modale Demo um, indem Sie auf die Schaltfläche unten klicken. Es gleitet nach unten und wird vom oberen Rand der Seite eingeblendet.
Modaler Titel
Woohoo, du liest diesen Text in einem Modal!
Statischer Hintergrund
Wenn der Hintergrund auf statisch eingestellt ist, wird das Modal nicht geschlossen, wenn Sie außerhalb davon klicken. Klicken Sie auf die Schaltfläche unten, um es zu versuchen.
Modaler Titel
Ich werde nicht schließen, wenn Sie außerhalb von mir klicken. Versuchen Sie nicht einmal, die Escape-Taste zu drücken.
Scrollen von langen Inhalten
Wenn Modale für den Darstellungsbereich oder das Gerät des Benutzers zu lang werden, scrollen sie unabhängig von der Seite selbst. Probieren Sie die Demo unten aus, um zu sehen, was wir meinen.
Modal title
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Sie können auch ein scrollbares Modal erstellen, das es ermöglicht, den Modalkörper zu scrollen, indem Sie .modal-dialog-scrollablezu hinzufügen .modal-dialog.
Modal title
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Vertikal zentriert
Fügen Sie hinzu .modal-dialog-centered, .modal-dialogum das Modal vertikal zu zentrieren.
Modal title
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Modal title
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.
Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.
Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.
Tooltips und Popovers
Tooltips und Popovers können nach Bedarf innerhalb von Modals platziert werden. Wenn Modale geschlossen werden, werden auch alle QuickInfos und Popovers darin automatisch ausgeblendet.
Verwenden Sie das Bootstrap-Rastersystem innerhalb eines Modals, indem Sie es .container-fluidinnerhalb der .modal-body. Verwenden Sie dann die normalen Rastersystemklassen wie überall sonst.
Grids in modals
.col-md-4
.col-md-4 .ml-auto
.col-md-3 .ml-auto
.col-md-2 .ml-auto
.col-md-6 .ml-auto
Level 1: .col-sm-9
Level 2: .col-8 .col-sm-6
Level 2: .col-4 .col-sm-6
Variierender modaler Inhalt
Haben Sie eine Reihe von Schaltflächen, die alle dasselbe Modal mit leicht unterschiedlichen Inhalten auslösen? Verwenden Sie event.relatedTargetund HTML- data-*Attribute (möglicherweise über jQuery ), um den Inhalt des Modals abhängig davon zu variieren, auf welche Schaltfläche geklickt wurde.
Die $modal-fade-transformVariable bestimmt den Transformationszustand von .modal-dialogvor der modalen Einblendanimation, die $modal-show-transformVariable bestimmt die Transformation von .modal-dialogam Ende der modalen Einblendanimation.
Wenn Sie zum Beispiel eine Zoom-In-Animation wünschen, können Sie $modal-fade-transform: scale(.8).
Animation entfernen
Entfernen Sie für Modale, die einfach angezeigt und nicht eingeblendet werden, die .fadeKlasse aus Ihrem modalen Markup.
Dynamische Höhen
Wenn sich die Höhe eines Modals ändert, während es geöffnet ist, sollten Sie aufrufen $('#myModal').modal('handleUpdate'), um die Position des Modals neu anzupassen, falls eine Bildlaufleiste angezeigt wird.
Barrierefreiheit
role="dialog"Achten Sie darauf, und aria-labelledby="..."unter Bezugnahme auf den modalen Titel, zu .modalund role="document"zu sich selbst hinzuzufügen .modal-dialog. aria-describedbyZusätzlich können Sie mit on eine Beschreibung Ihres modalen Dialogs angeben .modal.
YouTube-Videos einbetten
Das Einbetten von YouTube-Videos in Modale erfordert zusätzliches JavaScript, das nicht in Bootstrap enthalten ist, um die Wiedergabe automatisch zu stoppen und mehr. Weitere Informationen finden Sie in diesem hilfreichen Stack Overflow-Beitrag .
Optionale Größen
Modale haben drei optionale Größen, die über Modifikatorklassen verfügbar sind, die auf einer .modal-dialog. Diese Größen treten an bestimmten Haltepunkten ein, um horizontale Bildlaufleisten in schmaleren Ansichtsfenstern zu vermeiden.
Größe
Klasse
Modale maximale Breite
Klein
.modal-sm
300px
Standard
Keiner
500px
Groß
.modal-lg
800px
Extra groß
.modal-xl
1140px
Unser Standardmodal ohne Modifikatorklasse bildet das Modal „mittlerer“ Größe.
Extra large modal
...
Large modal
...
Small modal
...
Verwendungszweck
Das Modal-Plugin schaltet Ihre versteckten Inhalte bei Bedarf über Datenattribute oder JavaScript um. Es fügt .modal-openauch das <body>standardmäßige Bildlaufverhalten außer Kraft und generiert einen .modal-backdropKlickbereich zum Verwerfen angezeigter Modale, wenn außerhalb des Modals geklickt wird.
Über Datenattribute
Aktivieren Sie ein Modal, ohne JavaScript zu schreiben. Setzen Sie data-toggle="modal"es auf ein Controller-Element, wie eine Schaltfläche, zusammen mit einem data-target="#foo"oder href="#foo", um ein bestimmtes Modal zum Umschalten auszuwählen.
Über JavaScript
Rufen Sie ein Modal mit id myModalmit einer einzigen JavaScript-Zeile auf:
Optionen
Optionen können über Datenattribute oder JavaScript übergeben werden. Hängen Sie für Datenattribute den Optionsnamen an data-, wie in data-backdrop="".
Name
Typ
Standard
Beschreibung
Hintergrund
boolean oder die Zeichenfolge'static'
Stimmt
Enthält ein modales Hintergrundelement. Alternativ können Sie einen Hintergrund angeben, staticder das Modal beim Klicken oder Drücken der Escape-Taste nicht schließt.
Klaviatur
boolesch
Stimmt
Schließt das Modal, wenn die Escape-Taste gedrückt wird
Fokus
boolesch
Stimmt
Legt bei der Initialisierung den Fokus auf das Modal.
Show
boolesch
Stimmt
Zeigt das Modal bei der Initialisierung an.
Methoden
Asynchrone Methoden und Übergänge
Alle API-Methoden sind asynchron und starten einen Übergang . Sie kehren zum Aufrufer zurück, sobald der Übergang gestartet wird, aber bevor er endet . Außerdem wird ein Methodenaufruf einer Übergangskomponente ignoriert .
Aktiviert Ihren Inhalt als Modal. Akzeptiert optionale Optionen object.
.modal('toggle')
Schaltet ein Modal manuell um. Gibt an den Aufrufer zurück, bevor das Modal tatsächlich angezeigt oder ausgeblendet wurde (dh bevor das shown.bs.modaloder hidden.bs.modal-Ereignis eintritt).
.modal('show')
Öffnet manuell ein Modal. Kehrt zum Aufrufer zurück, bevor das Modal tatsächlich gezeigt wurde (dh bevor das shown.bs.modalEreignis eintritt).
.modal('hide')
Blendet ein Modal manuell aus. Gibt an den Aufrufer zurück, bevor das Modal tatsächlich ausgeblendet wurde (dh bevor das hidden.bs.modalEreignis eintritt).
.modal('handleUpdate')
Passen Sie die Position des Modals manuell an, wenn sich die Höhe eines Modals ändert, während es geöffnet ist (dh falls eine Bildlaufleiste angezeigt wird).
.modal('dispose')
Zerstört das Modal eines Elements.
Veranstaltungen
Die modale Klasse von Bootstrap macht einige Ereignisse verfügbar, um sich in die modale Funktionalität einzuklinken. Alle modalen Ereignisse werden am Modal selbst (dh am <div class="modal">) ausgelöst.
Ereignistyp
Beschreibung
show.bs.modal
Dieses Ereignis wird sofort ausgelöst, wenn die showInstanzmethode aufgerufen wird. Wenn es durch einen Klick verursacht wurde, ist das angeklickte Element als relatedTargetEigenschaft des Ereignisses verfügbar.
gezeigt.bs.modal
Dieses Ereignis wird ausgelöst, wenn das Modal für den Benutzer sichtbar gemacht wurde (wartet auf den Abschluss der CSS-Übergänge). Wenn es durch einen Klick verursacht wurde, ist das angeklickte Element als relatedTargetEigenschaft des Ereignisses verfügbar.
verstecken.bs.modal
Dieses Ereignis wird sofort ausgelöst, wenn die hideInstanzmethode aufgerufen wurde.
versteckt.bs.modal
Dieses Ereignis wird ausgelöst, wenn das Modal vollständig vor dem Benutzer ausgeblendet wurde (wartet auf den Abschluss der CSS-Übergänge).
hidePrevented.bs.modal
Dieses Ereignis wird ausgelöst, wenn das Modal angezeigt wird, sein Hintergrund angezeigt wird staticund ein Klick außerhalb des Modals oder ein Drücken der Escape-Taste ausgeführt wird.