Il componente Modal è riservato alla creazione di box di dialogo modali.
Un box modale si costruisce a partire da un div con classe .modal
. Se si vuole aggiungere un effetto di transizione morbida all'apertura e alla chiusura si aggiunge la classe .fade
. L'elemento dovrebbe avere anche un id da richiamare nello script che gestisce l'apertura del box.
<div id="myModal" class="modal fade"> ... </div>
All'interno di questo div, si inseriscono, annidati, altri due div, il primo con classe .modal-dialog
, il secondo con classe .modal-content
.
<div id="myModal" class="modal"> <div class="modal-dialog"> <div class="modal-content"> ... </div> </div> </div>
All'interno del div .modal-content
trova posto il contenuto vero e proprio del box di dialogo.
Questa parte può essere strutturata in tre aree: un'area per il titolo (con classe .modal-header
), un'area per il corpo di testo principale (con classe .modal-body
), un'area che funge da footer (con classe .modal-footer
).
<div id="myModal" class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> <h4 class="modal-title">Titolo</h4> </div> <div class="modal-body"> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt...</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Chiudi</button> <button type="button" class="btn btn-primary">Invia</button> </div> </div> </div> </div>
Nell'area del titolo si può inserire il codice per il pulsante di chiusura associato al simbolo ×
:
<button type="button" class="close" data-dismiss="modal">×</button>
Il codice del pulsante o link di chiusura deve contenere l'attributo data-dismiss="modal"
.
Il box modale così creato è di default invisibile. Nel sorgente HTML può essere collocato in qualunque posizione, anche immediatamente prima del body
di chiusura.
L'apertura e la chiusura del box modale sono gestite da Javascript. Abbiamo visto qui sopra come creare un pulsante di chiusura. Per creare un link o un pulsante di apertura si associno all'elemento a
o button
l'attributo data-toggle="modal">
e l'attributo data-target
valorizzato con l'id del box.
<a href="#" data-toggle="modal" data-target="#myModal">Apri il box</a> <button class="btn btn-primary" data-toggle="modal" data-target="#myModal">Apri il box</button>
Per le opzioni e tutti i metodi del componente si consulti la documentazione ufficiale.