How TO - Opvouwbare onderdelen/accordeon
Leer hoe u een accordeon maakt (inklapbare inhoud).
Accordeon
Accordeons zijn handig wanneer u wilt schakelen tussen het verbergen en weergeven van een grote hoeveelheid inhoud:
De pijn zelf is belangrijk, maar de pijn wordt versterkt door het adipiscingproces, maar ik geef het de tijd om het te verminderen, zodat ik geweldig werk en pijn kan doen. Om ervoor te zorgen dat voor het grootste deel, ieder van ons zal komen tot het uitoefenen van enige vorm van werk, behalve om te profiteren van de doelstellingen ervan.
De pijn zelf is belangrijk, maar de pijn wordt versterkt door het adipiscingproces, maar ik geef het de tijd om het te verminderen, zodat ik geweldig werk en pijn kan doen. Om ervoor te zorgen dat voor het grootste deel, ieder van ons zal komen tot het uitoefenen van enige vorm van werk, behalve om te profiteren van de doelstellingen ervan.
De pijn zelf is belangrijk, maar de pijn wordt versterkt door het adipiscingproces, maar ik geef het de tijd om het te verminderen, zodat ik geweldig werk en pijn kan doen. Om ervoor te zorgen dat voor het grootste deel, ieder van ons zal komen tot het uitoefenen van enige vorm van werk, behalve om te profiteren van de doelstellingen ervan.
Maak een accordeon
Stap 1) HTML toevoegen:
Voorbeeld
<button class="accordion">Section 1</button>
<div class="panel">
<p>Lorem
ipsum...</p>
</div>
<button class="accordion">Section
2</button>
<div class="panel">
<p>Lorem ipsum...</p>
</div>
<button class="accordion">Section 3</button>
<div class="panel">
<p>Lorem
ipsum...</p>
</div>
Stap 2) CSS toevoegen:
Stijl de accordeon:
Voorbeeld
/* Style the buttons that are used to open and close the accordion panel */
.accordion {
background-color: #eee;
color: #444;
cursor: pointer;
padding: 18px;
width: 100%;
text-align: left;
border: none;
outline: none;
transition: 0.4s;
}
/* Add a background color to the button if it is clicked on (add the
.active class with JS), and when you move the mouse over it (hover) */
.active, .accordion:hover {
background-color: #ccc;
}
/* Style the accordion panel. Note:
hidden by default */
.panel {
padding: 0 18px;
background-color: white;
display: none;
overflow: hidden;
}
Stap 3) JavaScript toevoegen:
Voorbeeld
var acc = document.getElementsByClassName("accordion");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].addEventListener("click",
function() {
/* Toggle between adding and removing the
"active" class,
to
highlight the button that controls the panel */
this.classList.toggle("active");
/* Toggle between hiding and showing the active panel */
var panel = this.nextElementSibling;
if (panel.style.display === "block") {
panel.style.display = "none";
}
else {
panel.style.display = "block";
}
});
}
Geanimeerde accordeon (naar beneden schuiven)
Als u een geanimeerde accordeon wilt maken, voegt u max-height: 0
, overflow: hidden
en a transition
voor de eigenschap max-height toe aan de panel
klasse.
Gebruik vervolgens JavaScript om de inhoud naar beneden te schuiven door een berekende in te stellen
max-height
, afhankelijk van de hoogte van het paneel op verschillende schermformaten:
Voorbeeld
<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>
Pictogrammen toevoegen
Voeg een symbool toe aan elke knop om aan te geven of de opvouwbare inhoud open of gesloten is:
Voorbeeld
.accordion:after {
content: '\02795'; /* Unicode
character for "plus" sign (+) */
font-size: 13px;
color: #777;
float: right;
margin-left: 5px;
}
.active:after {
content: "\2796"; /*
Unicode character for "minus" sign (-) */
}