Használja a Bootstrap JavaScript modális beépülő modulját, hogy párbeszédpaneleket adjon webhelyéhez átvilágítódobozok, felhasználói értesítések vagy teljesen egyéni tartalom megjelenítéséhez.
Hogyan működik
Mielőtt hozzákezdene a Bootstrap modális összetevőjéhez, feltétlenül olvassa el a következőket, mivel menüopcióink nemrégiben megváltoztak.
A modálok HTML, CSS és JavaScript segítségével épülnek fel. Ezek a dokumentumban minden más fölé helyezkednek el, és eltávolítják a görgetést, <body>így a modális tartalom görgethet helyette.
A modális „háttér”-re kattintva a modális automatikusan bezárul.
A Bootstrap egyszerre csak egy modális ablakot támogat. A beágyazott modálisok nem támogatottak, mivel véleményünk szerint rossz felhasználói élményt jelentenek.
A modálisok a -t használják position: fixed, ami néha egy kicsit sajátos lehet a megjelenítést illetően. Amikor csak lehetséges, helyezze el a modális HTML-kódot a legfelső szintű pozícióba, hogy elkerülje az egyéb elemek esetleges interferenciáját. Valószínűleg problémákba ütközik, ha egy .modalmásik rögzített elembe ágyaz be egyet.
A HTML5 szemantikája meghatározása miatt a autofocusHTML attribútumnak nincs hatása a Bootstrap modálisra. Ugyanezen hatás eléréséhez használjon néhány egyéni JavaScriptet:
Olvassa tovább a bemutatókat és a használati útmutatókat.
Példák
Modális alkatrészek
Az alábbiakban egy statikus modális példa látható (ami azt jelenti, hogy a positionés displayfelül lett írva). Tartalmazza a modális fejlécet, a modális törzset (szükséges a padding-hoz) és a modális láblécet (opcionális). Kérjük, hogy lehetőség szerint adjon meg modális fejlécet az elvetési műveletekkel, vagy adjon meg egy másik kifejezett elvetési műveletet.
Modális cím
Ide kerül a modális törzsszöveg.
Élő demó
Az alábbi gombra kattintva válthat egy működő modális bemutatót. Lecsúszik, és elhalványul az oldal tetejétől.
Modális cím
Woohoo, ezt a szöveget modálisan olvasod!
Statikus háttér
Ha a háttér statikusra van állítva, a modál nem zár be, ha kívülre kattint. Kattintson az alábbi gombra a kipróbáláshoz.
Modális cím
I will not close if you click outside me. Don't even try to press escape key.
Hosszú tartalom görgetése
Ha a modálisok túl hosszúak lesznek a felhasználó nézetablakához vagy eszközéhez, magától az oldaltól függetlenül görgetnek. Próbálja ki az alábbi bemutatót, hogy lássa, mire gondolunk.
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.
Létrehozhat egy görgethető modált is, amely lehetővé teszi a modális törzs görgetését a .modal-dialog-scrollablehozzáadással .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.
Függőlegesen középre
Add hozzá .modal-dialog-centereda .modal-dialogmodális függőleges középre állításához.
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.
Eszköztippek és előugró ablakok
Az eszköztippek és az előugró ablakok szükség szerint elhelyezhetők a modálisokon belül. A modálok bezárásakor a rendszer automatikusan elveti az összes elemleírást és felugró ablakot is.
Használja a Bootstrap rácsrendszert egy modálison .container-fluidbelül a .modal-body. Ezután használja a normál grid rendszerosztályokat, mint bárhol máshol.
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
Változó modális tartalom
Van egy csomó gombja, amelyek mindegyike ugyanazt a módot indítja el, kissé eltérő tartalommal? Használja a event.relatedTargetés HTML - data-*attribútumokat (esetleg a jQuery segítségével ) a modál tartalmának megváltoztatásához attól függően, hogy melyik gombra kattintott.
Az alábbiakban egy élő demó látható, amelyet példa HTML és JavaScript követ. További információért olvassa el a modális események dokumentumait a következővel kapcsolatos részletekért relatedTarget.
New message
Animáció módosítása
A változó a modális fade-in animáció előtti $modal-fade-transformtranszformáció állapotát határozza meg, a változó pedig a modális fade-in animáció végén a transzformációt..modal-dialog$modal-show-transform.modal-dialog
Ha például nagyító animációt szeretne, beállíthatja a $modal-fade-transform: scale(.8).
Animáció eltávolítása
Az olyan modálisok esetében, amelyek egyszerűen megjelennek, nem pedig elhalványulnak, távolítsa el az .fadeosztályt a modális jelölésből.
Dinamikus magasságok
Ha egy modál magassága megváltozik, miközben nyitva van, akkor hívnia kell, hogy módosítsa $('#myModal').modal('handleUpdate')a modál helyzetét, ha megjelenik egy görgetősáv.
Megközelíthetőség
Ügyeljen arra, hogy aria-labelledby="..."a modális címre hivatkozva adja hozzá a .modal. Ezenkívül megadhatja a modális párbeszédpanel leírását a aria-describedbyon .modal. Vegye figyelembe, hogy nem kell hozzáadnia, role="dialog"mivel már JavaScripten keresztül hozzáadjuk.
A modáloknak három választható mérete van, amelyek módosító osztályokon keresztül érhetők el, amelyeket egy .modal-dialog. Ezek a méretek bizonyos töréspontokon lépnek életbe, hogy elkerüljék a vízszintes görgetősávokat a szűkebb nézetablakban.
Méret
Osztály
Modális maximális szélesség
Kicsi
.modal-sm
300px
Alapértelmezett
Egyik sem
500px
Nagy
.modal-lg
800px
Extra nagy
.modal-xl
1140px
Az alapértelmezett módosító nélküli modálunk a „közepes” méretű modális.
Extra large modal
...
Large modal
...
Small modal
...
Használat
A modális beépülő modul igény szerint váltja a rejtett tartalmat adatattribútumok vagy JavaScript segítségével. Ezenkívül hozzáadja .modal-openaz <body>alapértelmezett görgetési viselkedés felülbírálásához, és létrehoz .modal-backdropegy kattintási területet a megjelenített modálok elvetéséhez, ha a modálison kívül kattintanak.
Adatattribútumokon keresztül
Aktiválja a modált JavaScript írása nélkül. Állítsa data-toggle="modal"be a vezérlőelemet, például egy gombot, a data-target="#foo"vagy a gombbal együtt, href="#foo"hogy egy adott módot célozzon a váltáshoz.
JavaScripten keresztül
Hívjon egy modált azonosítóval myModalegyetlen soros JavaScripttel:
Lehetőségek
Az opciók átadhatók adatattribútumokon vagy JavaScripten keresztül. Az adatattribútumokhoz fűzze hozzá az opció nevét a data-következőhöz: data-backdrop="".
Név
típus
Alapértelmezett
Leírás
háttér
logikai érték vagy a karakterlánc'static'
igaz
Modális háttérelemet tartalmaz. Alternatív megoldásként staticolyan hátteret adjon meg, amely nem zárja be a modált kattintásra.
billentyűzet
logikai érték
igaz
Bezárja a modált az Escape billentyű lenyomásakor
fókusz
logikai érték
igaz
Inicializáláskor a modálisra helyezi a fókuszt.
előadás
logikai érték
igaz
Megjeleníti a modált inicializáláskor.
Mód
Aszinkron módszerek és átmenetek
Minden API metódus aszinkron , és átmenetet indít . Visszatérnek a hívóhoz, amint az átmenet elkezdődik, de még azelőtt, hogy az véget érne . Ezenkívül a rendszer figyelmen kívül hagyja az átmeneti komponens metódushívásait .
Aktiválja a tartalmat modálisként. Elfogad egy opcionális opciót object.
.modal('toggle')
Manuálisan vált egy módot. Visszatér a hívóhoz, mielőtt a modális ténylegesen megjelenne vagy elrejtve (azaz a shown.bs.modalvagy hidden.bs.modalesemény bekövetkezte előtt).
.modal('show')
Manuálisan megnyit egy modált. Visszatér a hívóhoz, mielőtt a modális ténylegesen megjelenne (azaz az shown.bs.modalesemény bekövetkezte előtt).
.modal('hide')
Manuálisan elrejti a modált. Visszatér a hívóhoz, mielőtt a modális ténylegesen el lett volna rejtve (azaz az hidden.bs.modalesemény bekövetkezte előtt).
.modal('handleUpdate')
Állítsa be manuálisan a modál helyzetét, ha a modál magassága nyitva van (vagyis ha megjelenik egy görgetősáv).
.modal('dispose')
Elpusztítja egy elem modálisát.
Események
A Bootstrap modális osztálya felfed néhány eseményt a modális funkciókhoz való kapcsolódáshoz. Minden modális esemény magára a modálisra (azaz a <div class="modal">)-ra kerül.
Esemény típus
Leírás
show.bs.modal
Ez az esemény azonnal aktiválódik a showpéldánymetódus meghívásakor. Ha kattintás okozza, a kattintott elem relatedTargetaz esemény tulajdonságaként elérhető.
látható.bs.modal
Ez az esemény akkor indul el, amikor a modális láthatóvá vált a felhasználó számára (megvárja, amíg a CSS-átmenetek befejeződnek). Ha kattintás okozza, a kattintott elem relatedTargetaz esemény tulajdonságaként elérhető.
elrejteni.bs.modal
Ez az esemény azonnal elindul, amikor a hidepéldánymetódus meghívásra került.
rejtett.bs.modal
Ez az esemény akkor indul el, amikor a modális elrejtése befejeződött a felhasználó elől (megvárja a CSS-átmenetek befejezését).
hidePrevented.bs.modal
Ez az esemény akkor indul el, amikor a modális látható, háttere látható, staticés a modálison kívüli kattintás vagy az Escape billentyű lenyomása történik a billentyűzet opcióval vagy a data-keyboardbeállítással false.