Cómo - Plegables/Acordeón
Aprenda a crear un acordeón (contenido plegable).
Acordeón
Los acordeones son útiles cuando desea alternar entre ocultar y mostrar una gran cantidad de contenido:
El dolor en sí es importante, pero el dolor aumenta con el proceso de adipiscencia, pero le doy tiempo para reducirlo para que haga un gran trabajo y dolor. A los efectos de llegar a un mínimo, quiénes de los nuestros deben ejercer cualquier empleo sino para aprovechar las consecuencias del mismo.
El dolor en sí es importante, pero el dolor aumenta con el proceso de adipiscencia, pero le doy tiempo para reducirlo para que haga un gran trabajo y dolor. A los efectos de llegar a un mínimo, quiénes de los nuestros deben ejercer cualquier empleo sino para aprovechar las consecuencias del mismo.
El dolor en sí es importante, pero el dolor aumenta con el proceso de adipiscencia, pero le doy tiempo para reducirlo para que haga un gran trabajo y dolor. A los efectos de llegar a un mínimo, quiénes de los nuestros deben ejercer cualquier empleo sino para aprovechar las consecuencias del mismo.
crear un acordeón
Paso 1) Agregar HTML:
Ejemplo
<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>
Paso 2) Agregar CSS:
Dale estilo al acordeón:
Ejemplo
/* 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;
}
Paso 3) Agregar JavaScript:
Ejemplo
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";
}
});
}
Acordeón animado (deslizar hacia abajo)
Para hacer un acordeón animado, agregue max-height: 0
, overflow: hidden
y a transition
para la propiedad max-height, a la panel
clase.
Luego, use JavaScript para deslizar el contenido hacia abajo configurando un calculado
max-height
, según la altura del panel en diferentes tamaños de pantalla:
Ejemplo
<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>
Agregar iconos
Agregue un símbolo a cada botón para indicar si el contenido plegable está abierto o cerrado:
Ejemplo
.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 (-) */
}