Izmantojiet Bootstrap JavaScript modālo spraudni, lai savai vietnei pievienotu dialoglodziņus gaismas kārbām, lietotāju paziņojumiem vai pilnībā pielāgotam saturam.
Kā tas strādā
Pirms sākat darbu ar Bootstrap modālo komponentu, noteikti izlasiet šo, jo mūsu izvēlnes opcijas nesen ir mainījušās.
Modāļi ir veidoti, izmantojot HTML, CSS un JavaScript. Tie ir novietoti virs visa pārējā dokumentā un noņem ritināšanu, <body>lai tā vietā ritinātu modālais saturs.
Noklikšķinot uz modālā fona kolāža, modāls tiks automātiski aizvērts.
Bootstrap vienlaikus atbalsta tikai vienu modālo logu. Ligzdotie modāļi netiek atbalstīti, jo uzskatām, ka tie rada sliktu lietotāja pieredzi.
Modāļi izmanto position: fixed, kas dažkārt var nedaudz atšķirties no tā renderēšanas. Kad vien iespējams, novietojiet modālo HTML augstākā līmeņa pozīcijā, lai izvairītos no iespējamiem traucējumiem no citiem elementiem. Visticamāk, jums radīsies problēmas, ligzdojot a .modalcitā fiksētā elementā.
Tā kā HTML5 definē savu semantiku, HTML autofocusatribūts Bootstrap modālos neietekmē. Lai sasniegtu tādu pašu efektu, izmantojiet kādu pielāgotu JavaScript:
Turpiniet lasīt demonstrācijas un lietošanas vadlīnijas.
Piemēri
Modālās sastāvdaļas
Tālāk ir sniegts statisks modāls piemērs (tas nozīmē, ka tā positionun displayir ignorētas). Iekļauta modālā galvene, modālais pamatteksts (nepieciešams padding) un modālā kājene (neobligāti). Mēs lūdzam jūs iekļaut modālas galvenes ar noraidīšanas darbībām, kad vien iespējams, vai nodrošināt citu skaidru noraidīšanas darbību.
Modāls nosaukums
Šeit ir modāls pamatteksts.
Demo tiešraidē
Pārslēdziet strādājošu modālu demonstrāciju, noklikšķinot uz tālāk esošās pogas. Tas noslīdēs uz leju un pazudīs no lapas augšdaļas.
Modal title
Woohoo, you're reading this text in a modal!
Gara satura ritināšana
Ja modāļi kļūst pārāk gari lietotāja skata logam vai ierīcei, tie ritina neatkarīgi no pašas lapas. Izmēģiniet tālāk redzamo demonstrāciju, lai redzētu, ko mēs domājam.
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.
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.
Rīku padomi un uznirstošie elementi
Rīku padomus un uznirstošos logus pēc vajadzības var ievietot modālos. Kad modāļi ir aizvērti, visi rīka padomi un uznirstošie elementi arī tiek automātiski noraidīti.
Izmantojiet Bootstrap režģa sistēmu modālā, ligzdojot .container-fluid. .modal-bodyPēc tam izmantojiet parastās režģa sistēmas klases tāpat kā jebkur citur.
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
Dažāds modālais saturs
Vai jums ir vairākas pogas, kas aktivizē vienu un to pašu modāli ar nedaudz atšķirīgu saturu? Izmantojiet event.relatedTargetun HTML data-*atribūtus (iespējams , izmantojot jQuery ), lai mainītu modāla saturu atkarībā no tā, kura poga tika noklikšķināta.
Zemāk ir tiešraides demonstrācija, kam seko HTML un JavaScript piemēri. Lai iegūtu papildinformāciju, izlasiet modālo notikumu dokumentus , lai iegūtu sīkāku informāciju par 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>
Noņemt animāciju
Modāliem, kas vienkārši parādās, nevis izgaist, lai skatītu, noņemiet .fadeklasi no modālā marķējuma.
Dinamiskie augstumi
Ja modāla augstums mainās, kamēr tas ir atvērts, jums jāzvana $('#myModal').modal('handleUpdate'), lai pielāgotu modāla pozīciju, ja parādās ritjosla.
Pieejamība
Noteikti pievienojiet role="dialog"un aria-labelledby="...", atsaucoties uz modālo nosaukumu, uz .modalun role="document"uz .modal-dialogpašu. Turklāt varat sniegt modālā dialoga aprakstu, aria-describedbyizmantojot .modal.
Modāļiem ir divi izvēles izmēri, kas pieejami modifikatoru klasēs, lai tos ievietotu .modal-dialog. Šie izmēri tiek aktivizēti noteiktos pārtraukuma punktos, lai izvairītos no horizontālām ritjoslām šaurākos skata portos.
Large modal
...
Small modal
...
Lietošana
Modālais spraudnis pēc pieprasījuma pārslēdz jūsu slēpto saturu, izmantojot datu atribūtus vai JavaScript. Tas arī papildina noklusējuma ritināšanas darbību ignorēšanai un ģenerē .modal-openklikšķa apgabalu parādīto modāļu noraidīšanai, noklikšķinot ārpus modāla.<body>.modal-backdrop
Izmantojot datu atribūtus
Aktivizējiet modālu, neierakstot JavaScript. Iestatiet data-toggle="modal"kontroliera elementu, piemēram, pogu, kopā ar data-target="#foo"vai href="#foo", lai atlasītu konkrētu modālu, lai pārslēgtu.
Izmantojot JavaScript
Izsauciet modālu ar ID myModalar vienu JavaScript rindiņu:
Iespējas
Opcijas var nodot, izmantojot datu atribūtus vai JavaScript. Datu atribūtiem pievienojiet opcijas nosaukumu data-, tāpat kā data-backdrop="".
Vārds
Tips
Noklusējums
Apraksts
fons
Būla vērtība vai virkne'static'
taisnība
Ietver modāla fona elementu. Vai arī norādiet staticfona kolāžu, kas neaizver modālu, noklikšķinot.
tastatūra
Būla
taisnība
Aizver modālu, kad tiek nospiests evakuācijas taustiņš
fokuss
Būla
taisnība
Inicializācijas laikā fokuss tiek likts uz modālu.
parādīt
Būla
taisnība
Parāda modālu inicializācijas laikā.
Metodes
Asinhronās metodes un pārejas
Visas API metodes ir asinhronas un sāk pāreju . Viņi atgriežas pie zvanītāja, tiklīdz ir sākta pāreja, bet pirms tās beigām . Turklāt pārejas komponenta metodes izsaukums tiks ignorēts .
Aktivizē jūsu saturu kā modālu. Pieņem izvēles opcijas object.
.modal('toggle')
Manuāli pārslēdz modālu. Atgriežas pie zvanītāja, pirms modāls ir faktiski parādīts vai paslēpts (ti, pirms notiek notikums shown.bs.modalvai ).hidden.bs.modal
.modal('show')
Manuāli atver modālu. Atgriežas pie zvanītāja, pirms modāls ir faktiski parādīts (ti, pirms shown.bs.modalnotikuma).
.modal('hide')
Manuāli slēpj modālu. Atgriežas pie zvanītāja, pirms modāls ir faktiski paslēpts (ti, pirms hidden.bs.modalnotikuma).
.modal('handleUpdate')
Manuāli pārregulējiet modāļa pozīciju, ja modāla augstums mainās, kamēr tas ir atvērts (ti, ja parādās ritjosla).
.modal('dispose')
Iznīcina elementa modālu.
Pasākumi
Bootstrap modālā klase atklāj dažus notikumus, lai piesaistītu modālo funkcionalitāti. Visi modālie notikumi tiek aktivizēti uz pašu modālu (ti, uz <div class="modal">).
Pasākuma veids
Apraksts
show.bs.modal
Šis notikums tiek aktivizēts nekavējoties, kad showtiek izsaukta instances metode. Ja to izraisījis klikšķis, noklikšķinātais elements ir pieejams kā relatedTargetnotikuma īpašums.
parādīts.bs.modal
Šis notikums tiek aktivizēts, kad modāls ir padarīts redzams lietotājam (pagaidīs, kamēr CSS pārejas tiks pabeigtas). Ja to izraisījis klikšķis, noklikšķinātais elements ir pieejams kā relatedTargetnotikuma īpašums.
slēpt.bs.modal
Šis notikums tiek aktivizēts nekavējoties, kad hideir izsaukta instances metode.
slēpts.bs.modal
Šis notikums tiek aktivizēts, kad modāls ir beidzis slēpt no lietotāja (pagaidīs, līdz CSS pārejas tiks pabeigtas).