Benotzt Bootstrap's JavaScript modal Plugin fir Dialogen op Är Site fir Lightboxen, Benotzer Notifikatiounen oder komplett personaliséiert Inhalter ze addéieren.
Wéi et funktionnéiert
Ier Dir mam Bootstrap's modale Komponent ufänkt, gitt sécher déi folgend ze liesen well eis Menüoptioune viru kuerzem geännert hunn.
Modale si mat HTML, CSS a JavaScript gebaut. Si sinn iwwer alles anescht am Dokument positionéiert an ewechzehuelen Scroll aus dem <body>sou datt modal Inhalt scrollt amplaz.
Klickt op de Modal "Kulisse" mécht de Modal automatesch zou.
Bootstrap ënnerstëtzt nëmmen eng modal Fënster gläichzäiteg. Nested Modals ginn net ënnerstëtzt well mir gleewen datt se schlecht Benotzererfarungen sinn.
Modals benotzen position: fixed, wat heiansdo e bësse speziell iwwer seng Rendering ka sinn. Wann ëmmer méiglech, setzt Är modal HTML an enger Top-Level Positioun fir potenziell Interferenz vun aneren Elementer ze vermeiden. Dir wäert méiglecherweis an Probleemer lafen wann Dir en .modalan engem anere fixen Element nest.
Nach eng Kéier, wéinst position: fixed, ginn et e puer Virschléi mat der Benotzung vu Modalen op mobilen Apparater. Gesinn eis Browser Support Dokumenter fir Detailer.
Wéinst wéi HTML5 seng Semantik definéiert, huet den autofocusHTML Attribut keen Effekt a Bootstrap Modal. Fir deeselwechten Effekt z'erreechen, benotzt e puer personaliséiert JavaScript:
Liest weider fir Demos a Benotzungsrichtlinnen.
Beispiller
Modal Komponente
Drënner ass e statesch modal Beispill (dat heescht seng positiona displaygoufen iwwerschriwwen). Abegraff sinn de modale Header, modale Kierper (obligatoresch fir padding), a modal Fousszeilen (optional). Mir froen datt Dir modal Header mat Entloossaktiounen enthält wa méiglech, oder eng aner explizit Entloossaktioun ubitt.
Modal Titel
Modal Kierpertext geet hei.
Live Demo
Toggle eng funktionéierend modal Demo andeems Dir op de Knäppchen hei drënner klickt. Et rutscht erof a verschwannen vun uewen op der Säit.
Modal title
Woohoo, you're reading this text in a modal!
Scrolling laang Inhalt
Wann d'Modalen ze laang ginn fir de Viewport oder den Apparat vum Benotzer, scrollen se onofhängeg vun der Säit selwer. Probéiert d'Demo hei ënnen fir ze kucken wat mir mengen.
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 zentréiert
Füügt .modal-dialog-centeredfir .modal-dialogde Modal vertikal ze zentréieren.
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.
Tooltips an Popovers
Tooltips a Popovers kënne bannent Modale plazéiert ginn wéi néideg. Wann Modale zougemaach sinn, ginn all Tooltipps a Popovers bannent och automatesch entlooss.
Benotzt de Bootstrap Gitter System bannent engem Modal andeems Dir .container-fluidan der .modal-body. Dann benotzt déi normal Gittersystemklassen wéi Dir soss anzwousch géift.
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
Variéierend modalen Inhalt
Hutt Dir eng Rëtsch Knäppercher déi all déiselwecht Modal mat liicht verschiddenen Inhalter ausléisen? Benotzt event.relatedTargetan HTML data-*Attributer (méiglecherweis iwwer jQuery ) fir den Inhalt vun der Modal ze variéieren jee no wéi ee Knäppchen geklickt gouf.
Drënner ass eng Live Demo gefollegt vum Beispill HTML a JavaScript. Fir méi Informatioun, liest d'Modal Eventer Dokumenter fir Detailer iwwer relatedTarget.
New message
<buttontype="button"class="btn btn-primary"data-toggle="modal"data-target="#exampleModal"data-whatever="@mdo">Open modal for @mdo</button><buttontype="button"class="btn btn-primary"data-toggle="modal"data-target="#exampleModal"data-whatever="@fat">Open modal for @fat</button><buttontype="button"class="btn btn-primary"data-toggle="modal"data-target="#exampleModal"data-whatever="@getbootstrap">Open modal for @getbootstrap</button><divclass="modal fade"id="exampleModal"tabindex="-1"role="dialog"aria-labelledby="exampleModalLabel"aria-hidden="true"><divclass="modal-dialog"role="document"><divclass="modal-content"><divclass="modal-header"><h5class="modal-title"id="exampleModalLabel">New message</h5><buttontype="button"class="close"data-dismiss="modal"aria-label="Close"><spanaria-hidden="true">×</span></button></div><divclass="modal-body"><form><divclass="form-group"><labelfor="recipient-name"class="col-form-label">Recipient:</label><inputtype="text"class="form-control"id="recipient-name"></div><divclass="form-group"><labelfor="message-text"class="col-form-label">Message:</label><textareaclass="form-control"id="message-text"></textarea></div></form></div><divclass="modal-footer"><buttontype="button"class="btn btn-secondary"data-dismiss="modal">Close</button><buttontype="button"class="btn btn-primary">Send message</button></div></div></div></div>
Ewechzehuelen Animatioun
Fir Modaler déi einfach erschéngen anstatt ze verschwannen fir ze kucken, läscht d' .fadeKlass aus Ärem Modal Markup.
Dynamesch Héichten
Wann d'Héicht vun engem Modal ännert wärend et op ass, sollt Dir uruffen $('#myModal').modal('handleUpdate')fir d'Positioun vum Modal z'änneren am Fall wou eng Scrollbar erscheint.
Accessibilitéit
Gitt sécher ze addéieren role="dialog"an aria-labelledby="...", Referenz op de modalen Titel, op .modal, an role="document"op de .modal-dialogselwer. Zousätzlech kënnt Dir eng Beschreiwung vun Ärem modalen Dialog mat aria-describedbyop ginn .modal.
Embetting YouTube Videoen
Embedding vu YouTube Videoen a Modalen erfuerdert zousätzlech JavaScript net am Bootstrap fir automatesch d'Playback ze stoppen a méi. Gesinn dës hëllefräich Stack Overflow Post fir méi Informatiounen.
Optional Gréissten
Modaler hunn zwou fakultativ Gréissten, verfügbar iwwer Modifikatiounsklassen fir op engem plazéiert ze ginn .modal-dialog. Dës Gréisste kicken op bestëmmte Breakpunkte fir horizontale Scrollbars op méi schmuele Viewports ze vermeiden.
Large modal
...
Small modal
...
Benotzung
De modale Plugin wiesselt Äre verstoppte Inhalt op Ufro, iwwer Datenattributer oder JavaScript. Et füügt .modal-openoch un <body>d'Standard Scrollverhalen z'iwwerschreiden a generéiert e .modal-backdropfir e Klickgebitt ze bidden fir ugewisen Modaler ze entloossen wann Dir ausserhalb vum Modal klickt.
Via daten Attributer
Aktivéiert e Modal ouni JavaScript ze schreiwen. Setzt data-toggle="modal"op e Controllerelement, wéi e Knäppchen, zesumme mat engem data-target="#foo"oder href="#foo"fir e spezifesche Modal ze zielen fir ze wiesselen.
Iwwer JavaScript
Rufft e Modal mat ID myModalmat enger eenzeger Zeil vu JavaScript:
Optiounen
Optiounen kënnen iwwer Datenattributer oder JavaScript weidergeleet ginn. Fir Datenattributer, fügen d'Optiounsnumm un data-, wéi an data-backdrop="".
Numm
Typ
Default
Beschreiwung
Kuliss
boolesch oder de String'static'
wouer
Ëmfaasst e modal Kuliss Element. Alternativ, spezifizéiert staticfir eng Kuliss déi de Modal net op Klick zoumaacht.
Tastatur
boolesch
wouer
Maacht de Modal zou wann de Fluchtschlëssel gedréckt gëtt
konzentréieren
boolesch
wouer
Stellt de Fokus op de Modal wann se initialiséiert ginn.
weisen
boolesch
wouer
Weist de Modal wann initialiséiert.
Methoden
Asynchron Methoden an Iwwergäng
All API Methoden sinn asynchron a starten en Iwwergang . Si ginn zréck op den Uruffer soubal den Iwwergang ugefaang ass, awer ier en eriwwer ass . Zousätzlech gëtt e Methodruff op eng Iwwergangskomponent ignoréiert .
Aktivéiert Ären Inhalt als Modal. Akzeptéiert eng fakultativ Optiounen object.
.modal('toggle')
Manuell wiesselt e Modal. Gëtt zréck op den Uruffer ier de Modal tatsächlech gewisen oder verstoppt goufshown.bs.modal ( dh ier den hidden.bs.modalEvent geschitt ass).
.modal('show')
Manuell mécht e Modal op. Gitt zréck op den Uruffer ier de Modal tatsächlech gewisen gouf (dh ier d' shown.bs.modalEvenement geschitt ass).
.modal('hide')
Manuell verstoppt e Modal. Gitt zréck op den Uruffer ier de Modal tatsächlech verstoppt ass (dh ier d' hidden.bs.modalEvenement geschitt ass).
.modal('handleUpdate')
Manuell d'Positioun vum Modal nei ajustéieren wann d'Héicht vun engem Modal ännert wärend et op ass (dh am Fall wou eng Scrollbar erscheint).
.modal('dispose')
Zerstéiert d'Modal vun engem Element.
Evenementer
Dem Bootstrap seng modal Klass weist e puer Eventer fir an d'modal Funktionalitéit unzehaken. All Modal Eventer ginn op de Modal selwer geschoss (dh op der <div class="modal">).
Event Typ
Beschreiwung
show.bs.modal
Dëst Event brennt direkt wann d' showInstanzmethod genannt gëtt. Wann duerch e Klick verursaacht gëtt, ass dat geklickt Element als relatedTargetEegeschafte vum Event verfügbar.
ugewisen.bs.modal
Dëst Evenement gëtt ausgeléist wann de Modal fir de Benotzer siichtbar gemaach gouf (waart op CSS Iwwergäng fir fäerdeg ze maachen). Wann duerch e Klick verursaacht gëtt, ass dat geklickt Element als relatedTargetEegeschafte vum Event verfügbar.
hide.bs.modal
Dëst Evenement gëtt direkt gebrannt wann d' hideInstanzmethod genannt gouf.
hidden.bs.modal
Dëst Evenement gëtt ausgeléist wann de Modal fäerdeg ass vum Benotzer verstoppt ze ginn (waart op CSS Iwwergäng fir fäerdeg ze sinn).