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.

Bootstrap - Collapse

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:

  1. Abbiamo un pulsante (stilizzato come un link) che attiva la chiusura.
  2. L'attributo data-bs-toggle="collapse" dice a Bootstrap che questo elemento controlla un'area pieghevole.
  3. L'href="#collapseExample" punta all'ID del contenuto pieghevole.
  4. 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:

  1. Stiamo utilizzando la classe collapse-horizontal insieme a collapse.
  2. Abbiamo impostato una larghezza specifica sul contenuto pieghevole.
  3. 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:

  1. Abbiamo tre pulsanti: due controllano chiusure individuali, e uno controlla entrambe.
  2. Il terzo pulsante utilizza .multi-collapse per mirare a entrambe le aree pieghevoli.
  3. 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:

  1. L'attributo aria-expanded informa gli screen reader se il contenuto pieghevole è attualmente visibile.
  2. 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