Comment - Pliables/Accordéon
Apprenez à créer un accordéon (contenu pliable).
Accordéon
Les accordéons sont utiles lorsque vous souhaitez basculer entre le masquage et l'affichage d'une grande quantité de contenu :
La douleur elle-même est importante, mais la douleur est renforcée par le processus d'adipiscing, mais je lui donne le temps de la réduire afin que je fasse du bon travail et de la douleur. Dans le but d'arriver au minimum, qui des nôtres devrait exercer un emploi, sauf pour en profiter des conséquences.
La douleur elle-même est importante, mais la douleur est renforcée par le processus d'adipiscing, mais je lui donne le temps de la réduire afin que je fasse du bon travail et de la douleur. Dans le but d'arriver au minimum, qui des nôtres devrait exercer un emploi, sauf pour en profiter des conséquences.
La douleur elle-même est importante, mais la douleur est renforcée par le processus d'adipiscing, mais je lui donne le temps de la réduire afin que je fasse du bon travail et de la douleur. Dans le but d'arriver au minimum, qui des nôtres devrait exercer un emploi, sauf pour en profiter des conséquences.
Créer un accordéon
Étape 1) Ajoutez du HTML :
Exemple
<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>
Étape 2) Ajoutez CSS :
Donnez du style à l'accordéon :
Exemple
/* 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;
}
Étape 3) Ajoutez JavaScript :
Exemple
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";
}
});
}
Accordéon animé (glisser vers le bas)
Pour créer un accordéon animé, ajoutez max-height: 0
, overflow: hidden
et a transition
pour la propriété max-height, à la panel
classe.
Ensuite, utilisez JavaScript pour faire glisser le contenu en définissant un calculé
max-height
, en fonction de la hauteur du panneau sur différentes tailles d'écran :
Exemple
<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>
Ajouter des icônes
Ajoutez un symbole à chaque bouton pour indiquer si le contenu pliable est ouvert ou fermé :
Exemple
.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 (-) */
}