Brûk Bootstrap's JavaScript modale plugin om dialogen oan jo side ta te foegjen foar ljochtboxen, notifikaasjes fan brûkers, of folslein oanpaste ynhâld.
Hoe't it wurket
Foardat jo begjinne mei de modale komponint fan Bootstrap, wês wis dat jo it folgjende lêze, om't ús menu-opsjes koartlyn binne feroare.
Modals binne boud mei HTML, CSS, en JavaScript. Se wurde oer al it oare yn it dokumint pleatst en scroll fuortsmite fan 'e <body>, sadat modale ynhâld ynstee rôlet.
Klikje op de modale "eftergrûn" sil de modale automatysk slute.
Bootstrap stipet mar ien modaal finster tagelyk. Nested modals wurde net stipe, om't wy leauwe dat se minne brûkersûnderfiningen binne.
Modalen brûke position: fixed, wat soms in bytsje spesifyk kin wêze oer syn rendering. As it mooglik is, pleats jo modale HTML op in top-nivo posysje om potinsjele ynterferinsje fan oare eleminten te foarkommen. Jo sille wierskynlik problemen tsjinkomme as jo in .modalbinnen in oar fêst elemint nestelje.
Nochris, fanwegen position: fixed, binne d'r wat behertigingen mei it brûken fan modalen op mobile apparaten. Sjoch ús browser-stipedokuminten foar details.
Troch hoe't HTML5 syn semantyk definiearret, hat it autofocusHTML-attribút gjin effekt yn Bootstrap-modalen. Om itselde effekt te berikken, brûk wat oanpast JavaScript:
Hjirûnder is in statysk modaal foarbyld (betsjuttend syn positionen displaybinne oerskreaun). Ynbegrepen binne de modale koptekst, modale lichem (fereaske foar padding), en modale fuottekst (opsjoneel). Wy freegje dat jo, wannear mooglik, modale kopteksten opnimme mei ûntslachaksjes, of in oare eksplisite ûntslachaksje leverje.
Modale titel
Modale lichemstekst giet hjir.
Live demo
Skeakelje in wurkjende modale demo troch te klikken op de knop hjirûnder. It sil nei ûnderen glide en ferdwine fan 'e boppekant fan' e side.
Modale titel
Woohoo, jo lêze dizze tekst yn in modaal!
Statyske eftergrûn
As eftergrûn is ynsteld op statysk, sil de modale net slute as jo der bûten klikke. Klikje op de knop hjirûnder om it te besykjen.
Modale titel
Ik sil net slute as jo bûten my klikke. Besykje net iens op 'e escape-toets te drukken.
Scrolling lange ynhâld
As modalen te lang wurde foar de viewport of apparaat fan de brûker, rôlje se ûnôfhinklik fan 'e side sels. Besykje de demo hjirûnder om te sjen wat wy bedoele.
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.
Jo kinne ek in scrollbere modal meitsje wêrmei it modale lichem kin rôlje troch ta te foegjen .modal-dialog-scrollableoan .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.
Fertikaal sintraal
Taheakje .modal-dialog-centeredoan .modal-dialogom de modaal fertikaal te sintrum.
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 en popovers
Tooltips en popovers kinne wurde pleatst binnen modals as nedich. As modalen binne sletten, wurde alle tooltips en popovers binnen ek automatysk wegere.
Brûk it Bootstrap-rastersysteem binnen in modaal troch nêst .container-fluidbinnen de .modal-body. Brûk dan de normale rastersysteemklassen lykas jo earne oars soene.
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
Ferskillende modale ynhâld
Hawwe jo in boskje knoppen dy't allegear deselde modale mei in bytsje ferskillende ynhâld trigger? Brûk event.relatedTargeten HTML data-*attributen (mooglik fia jQuery ) foar in fariearje de ynhâld fan de modale ôfhinklik fan hokker knop waard oanklikt.
Hjirûnder is in live demo folge troch foarbyld HTML en JavaScript. Foar mear ynformaasje, lês de modale eveneminten docs foar details oer relatedTarget.
New message
Feroarje animaasje
De $modal-fade-transformfariabele bepaalt de transformaasjetastân fan .modal-dialogfoar de modale fade-in-animaasje, de $modal-show-transformfariabele bepaalt de transformaasje fan .modal-dialogoan 'e ein fan' e modale fade-in-animaasje.
As jo bygelyks in ynzoomen-animaasje wolle, kinne jo ynstelle $modal-fade-transform: scale(.8).
Fuortsmite animaasje
Foar modalen dy't gewoan ferskine ynstee fan ferdwine om te besjen, ferwiderje de .fadeklasse fan jo modale markup.
Dynamyske hichten
As de hichte fan in modal feroaret wylst it iepen is, moatte jo skilje $('#myModal').modal('handleUpdate')om de posysje fan 'e modal opnij oan te passen foar it gefal dat in skúfbalke ferskynt.
Tagonklikheid
Wês wis dat jo tafoegje role="dialog"en aria-labelledby="...", ferwizend nei de modale titel, nei .modal, en role="document"nei it .modal-dialogsels. Derneist kinne jo in beskriuwing jaan fan jo modale dialooch mei aria-describedbyop .modal.
Ynbêde YouTube-fideo's
Ynbêde fan YouTube-fideo's yn modalen fereasket ekstra JavaScript net yn Bootstrap om automatysk ôfspieljen en mear te stopjen. Sjoch dizze nuttige Stack Overflow-post foar mear ynformaasje.
Opsjonele maten
Modals hawwe trije opsjoneel maten, beskikber fia modifier klassen wurde pleatst op in .modal-dialog. Dizze maten stappe yn by bepaalde brekpunten om horizontale rôlbalken op smellere werjefteporten te foarkommen.
Grutte
Klasse
Modale maksimale breedte
Lyts
.modal-sm
300px
Standert
Gjin
500px
Grut
.modal-lg
800px
Ekstra grut
.modal-xl
1140px
Us standert modale sûnder modifikaasjeklasse foarmet de "medium" grutte modal.
Extra large modal
...
Large modal
...
Small modal
...
Gebrûk
De modale plugin skeakelet jo ferburgen ynhâld op oanfraach, fia gegevensattributen of JavaScript. It foeget ek ta .modal-openoan it <body>te oerskriuwen standert rôlje gedrach en genereart in .modal-backdropfoar in foarsjen in klik gebiet foar it ôfwizen fan sjen litten modals as jo klikke bûten de modale.
Fia data attributen
Aktivearje in modaal sûnder JavaScript te skriuwen. Set data-toggle="modal"op in controller-elemint, lykas in knop, tegearre mei in data-target="#foo"of href="#foo"om in spesifike modaal te rjochtsjen om te wikseljen.
Fia JavaScript
Rop in modaal mei id myModalmei ien line fan JavaScript:
Opsjes
Opsjes kinne wurde trochjûn fia gegevensattributen of JavaScript. Foar gegevensattributen foegje de opsjenamme ta oan data-, lykas yn data-backdrop="".
Namme
Type
Standert
Beskriuwing
eftergrûn
boolean of de snaar'static'
wier
Omfettet in modale eftergrûnelemint. As alternatyf, spesifisearje staticfoar in eftergrûn dy't de modaal net slút by klik of op escape-toetsdruk.
toetseboerd
boolean
wier
Slút de modale as escape-toets wurdt yndrukt
fokus
boolean
wier
Pleatst de fokus op 'e modale as inisjalisearre.
sjen litte
boolean
wier
Toant de modal as inisjalisearre.
Metoaden
Asynchrone metoaden en transysjes
Alle API-metoaden binne asynchrone en begjinne in oergong . Se komme werom nei de beller sa gau as de oergong is begon, mar foardat it einiget . Derneist sil in metoadeoprop op in oergongskomponint wurde negearre .
Aktivearret jo ynhâld as modaal. Akseptearret in opsjonele opsjes object.
.modal('toggle')
Wizigje manuell in modaal. Keart werom nei de beller foardat de modal feitlik werjûn of ferburgen is (dat wol sizze foardat it shown.bs.modalof hidden.bs.modalbarren bart).
.modal('show')
Iepenet in modaal mei de hân. Keart werom nei de beller foardat de modal wirklik werjûn is (dus foardat it shown.bs.modalevenemint bart).
.modal('hide')
Ferberget in modaal mei de hân. Keart werom nei de beller foardat de modal eins ferburgen is (dus foardat it hidden.bs.modalbarren bart).
.modal('handleUpdate')
Pas de posysje fan 'e modal mei de hân oan as de hichte fan in modal feroaret wylst it iepen is (dus yn it gefal dat in rôlbalke ferskynt).
.modal('dispose')
Ferneatiget in elemint syn modal.
Eveneminten
De modale klasse fan Bootstrap bleatsteld in pear eveneminten foar heakjen oan modale funksjonaliteit. Alle modale eveneminten wurde ûntslein op 'e modal sels (dus by de <div class="modal">).
Event Type
Beskriuwing
show.bs.modal
Dit evenemint fjoer fuortendaliks as de showeksimplaar metoade wurdt oanroppen. As feroarsake troch in klik, is it oanklikte elemint beskikber as relatedTargeteigendom fan it evenemint.
shown.bs.modal
Dit evenemint wurdt ûntslein as de modal sichtber makke is foar de brûker (sil wachtsje op CSS-oergongen om te foltôgjen). As feroarsake troch in klik, is it oanklikte elemint beskikber as relatedTargeteigendom fan it evenemint.
hide.bs.modal
Dit barren wurdt fuortendaliks ûntslein as de hideeksimplaarmetoade oanroppen is.
hidden.bs.modal
Dit evenemint wurdt ûntslein as de modal klear is mei ferburgen te wurden foar de brûker (sil wachtsje op CSS-oergongen om te foltôgjen).
hidePrevented.bs.modal
Dit evenemint wurdt ûntslein as de modale wurdt werjûn, de eftergrûn is staticen in klik bûten de modale of in escape-toetsdruk wurdt útfierd.