Come creare: contenuto ripiegabile/accordion
- Pagina precedente Icona del menu
- Pagina successiva Scheda
Impara a creare un pannello a libro (contenuti ripiegabili).
Pannello a libro
Il pannello a libro è molto utile quando si desidera passare da contenuti nascosti a quelli visibili:
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Crea un pannello a libro
Passo 1 - Aggiungi HTML:
<button class="accordion">Sezione 1</button> <div class="panel"> <p>Lorem ipsum...</p> </div> <button class="accordion">Sezione 2</button> <div class="panel"> <p>Lorem ipsum...</p> </div> <button class="accordion">Sezione 3</button> <div class="panel"> <p>Lorem ipsum...</p> </div>
Passo 2 - Aggiungi CSS:
Imposta lo stile del pannello a libro
/* Imposta lo stile per i pulsanti di apertura e chiusura del pannello a libro */ .accordion { background-color: #eee; color: #444; cursor: pointer; padding: 18px; width: 100%; text-align: left; border: none; outline: none; transition: 0.4s; } /* Se il pulsante viene cliccato (aggiungi la classe .active con JavaScript), aggiungi un colore di sfondo e quando il mouse è sopra di esso (hover) */ .active, .accordion:hover { background-color: #ccc; } /* Aggiungi stili al pannello a libro. Attenzione: è nascosto per default */ .panel { padding: 0 18px; background-color: white; display: none; overflow: hidden; }
Passo 3 - Aggiungi JavaScript:
var acc = document.getElementsByClassName("accordion"); var i; for (i = 0; i < acc.length; i++) { acc[i].addEventListener("click", function() { /* Commutare l'aggiunta e la rimozione della classe "active" per evidenziare i pulsanti del pannello di controllo */ this.classList.toggle("active"); /* Commutare la visualizzazione e la nascondita del pannello attivo */ var panel = this.nextElementSibling; if (panel.style.display === "block") { panel.style.display = "none"; } else { panel.style.display = "block"; } }); }
Accordion animato (scorrimento in basso)
Per creare un accordion animato, aggiungi alla classe del pannello: max-height: 0
,overflow: hidden
e max-height
effetto di transizione delle proprietà.
Poi, usa JavaScript per calcolare e impostare altezza del pannello in base alle diverse dimensioni dello schermo: max-height
per realizzare l'effetto di scorrimento in basso del contenuto:
<style> .panel { padding: 0 18px; background-color: white; max-height: 0; overflow: hidden; transition: max-height 0.2s ease-out; } </style> <script> var acc = document.getElementsByClassName("accordion"); var i; for (i = 0; i < acc.length; i++) { acc[i].addEventListener("click", function() { this.classList.toggle("active"); var panel = this.nextElementSibling; if (panel.style.maxHeight) { panel.style.maxHeight = null; } else { panel.style.maxHeight = panel.scrollHeight + "px"; } }); } </script>
Aggiungi icona
Aggiungi un simbolo su ogni pulsante per indicare se il contenuto accorciabile è aperto o chiuso:
.accordion:after { content: '\02795'; /* "Segno più" (più) carattere Unicode */ font-size: 13px; color: #777; float: right; margin-left: 5px; } .active:after { content: "\2796"; /* "Segno meno" (meno) carattere Unicode */ }
- Pagina precedente Icona del menu
- Pagina successiva Scheda