Bootstrap - Chiusura: Una Guida Completa per i Principianti
Ciao, futuri sviluppatori web! Oggi esploreremo una delle componenti più utili di Bootstrap: la Chiusura (Collapse). Immagina una magia per le tue pagine web - ora la vedi, ora non la vedi! Insieme intraprenderemo questo viaggio emozionante.
Cos'è la Chiusura di Bootstrap?
Prima di immergerci nel codice, capiamo di cosa si occupa la Chiusura. Immagina di avere un lungo articolo sul tuo sito web, ma non vuoi sommergere i tuoi visitatori con tutto il testo contemporaneamente. È qui che entra in gioco la Chiusura! Ti permette di nascondere e mostrare il contenuto con un semplice clic, rendendo le tue pagine web più interattive e user-friendly.
Esempio di Base
Iniziamo con un esempio di base per familiarizzarci.
<p>
<a class="btn btn-primary" data-bs-toggle="collapse" href="#collapseExample" role="button" aria-expanded="false" aria-controls="collapseExample">
Clicca qui per rivelare un segreto!
</a>
</p>
<div class="collapse" id="collapseExample">
<div class="card card-body">
Il segreto è... sei fantastico per aver imparato Bootstrap!
</div>
</div>
Analizziamo questo codice:
- Abbiamo un pulsante (stilizzato come un link) che attiva la chiusura.
- L'attributo
data-bs-toggle="collapse"
dice a Bootstrap che questo elemento controlla un'area pieghevole. - L'
href="#collapseExample"
punta all'ID del contenuto pieghevole. - Il contenuto pieghevole è avvolto in un div con la classe
collapse
e un ID che corrisponde all'href del pulsante.
Quando clicchi il pulsante, la magia di JavaScript di Bootstrap si verifica, e voilà! Il tuo contenuto compare o scompare.
Chiusura Orizzontale
Ora, aggiungiamo un po' di pepe con una chiusura orizzontale. È come se il tuo contenuto stia giocando a nascondino, ma lateralmente!
<p>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#collapseWidthExample" aria-expanded="false" aria-controls="collapseWidthExample">
Attiva chiusura della larghezza
</button>
</p>
<div style="min-height: 120px;">
<div class="collapse collapse-horizontal" id="collapseWidthExample">
<div class="card card-body" style="width: 300px;">
Questo è un contenuto di esempio per una chiusura orizzontale. È nascosto per impostazione predefinita e visualizzato quando attivato.
</div>
</div>
</div>
Le differenze chiave qui sono:
- Stiamo utilizzando la classe
collapse-horizontal
insieme acollapse
. - Abbiamo impostato una larghezza specifica sul contenuto pieghevole.
- Il div esterno con
min-height
garantisce che altri elementi non saltino quando la chiusura viene attivata.
Più Attivatori e Obiettivi
Ora, creiamo una sinfonia di elementi pieghevoli! Possiamo avere più pulsanti che controllano aree pieghevoli diverse (o le stesse).
<p>
<a class="btn btn-primary" data-bs-toggle="collapse" href="#multiCollapseExample1" role="button" aria-expanded="false" aria-controls="multiCollapseExample1">Attiva primo elemento</a>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#multiCollapseExample2" aria-expanded="false" aria-controls="multiCollapseExample2">Attiva secondo elemento</button>
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target=".multi-collapse" aria-expanded="false" aria-controls="multiCollapseExample1 multiCollapseExample2">Attiva entrambi gli elementi</button>
</p>
<div class="row">
<div class="col">
<div class="collapse multi-collapse" id="multiCollapseExample1">
<div class="card card-body">
Alcuni contenuti di esempio per il primo componente di chiusura di questo esempio multi-chiusura.
</div>
</div>
</div>
<div class="col">
<div class="collapse multi-collapse" id="multiCollapseExample2">
<div class="card card-body">
Alcuni contenuti di esempio per il secondo componente di chiusura di questo esempio multi-chiusura.
</div>
</div>
</div>
</div>
Ecco cosa sta accadendo:
- Abbiamo tre pulsanti: due controllano chiusure individuali, e uno controlla entrambe.
- Il terzo pulsante utilizza
.multi-collapse
per mirare a entrambe le aree pieghevoli. - Ogni area pieghevole ha sia un ID univoco che la classe
multi-collapse
.
Accessibilità
Come sviluppatori responsabili, dobbiamo assicurarci che i nostri siti web siano accessibili a tutti. La componente Chiusura di Bootstrap è dotata di funzionalità di accessibilità integrate, ma possiamo migliorarle:
<button class="btn btn-primary" type="button" data-bs-toggle="collapse" data-bs-target="#accessibleCollapse" aria-expanded="false" aria-controls="accessibleCollapse">
Pulsante Chiusura Accessibile
</button>
<div class="collapse" id="accessibleCollapse">
<div class="card card-body">
Questo contenuto è nascosto ma accessibile agli screen reader.
</div>
</div>
Le funzionalità chiave di accessibilità sono:
- L'attributo
aria-expanded
informa gli screen reader se il contenuto pieghevole è attualmente visibile. - L'attributo
aria-controls
associa il pulsante al contenuto pieghevole.
Tabella dei Metodi
Ecco una comoda tabella dei metodi di Chiusura che puoi utilizzare nel tuo JavaScript:
Metodo | Descrizione |
---|---|
collapse('toggle') |
Commuta un elemento pieghevole |
collapse('show') |
Mostra un elemento pieghevole |
collapse('hide') |
Nasconde un elemento pieghevole |
collapse('dispose') |
Distrugge la chiusura di un elemento |
Per utilizzare questi metodi, fareste qualcosa come:
var myCollapsible = document.getElementById('myCollapse')
var bsCollapse = new bootstrap.Collapse(myCollapsible, {
toggle: false
})
bsCollapse.show()
E voilà, gente! Avete appena padroneggiato l'arte della Chiusura di Bootstrap. Ricorda, la pratica fa la perfezione, quindi non aver paura di sperimentare con questi esempi. Prima di sapere, creerai pagine web che si piegano e si srotolano come origami!
Buon coding, e possa le tue chiusure sempre essere lisce e i tuoi attivatori sempre reattivi!
Credits: Image by storyset