En el ejemplo muestro un componente de acordeón utilizando HTML, CSS y JavaScript.
El acordeón tiene tres secciones. Cada sección tiene un título que se puede hacer clic para mostrar u ocultar el contenido correspondiente.

El código del ejemplo es el siguiente
<!DOCTYPE html>
<html>
<head>
<style>
/* CSS */
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 20px;
}
/* Estilos del acordeón */
.accordion {
max-width: 400px;
margin: 0 auto;
}
.accordion-item {
margin-bottom: 10px;
border: 1px solid #ccc;
border-radius: 5px;
overflow: hidden;
}
.accordion-title {
padding: 10px;
background-color: #f4f4f4;
color: #333;
font-weight: bold;
cursor: pointer;
}
.accordion-content {
padding: 10px;
background-color: #fff;
display: none;
}
</style>
</head>
<body>
<div class="accordion">
<div class="accordion-item">
<div class="accordion-title">Título DevCodeLight 1</div>
<div class="accordion-content">Contenido del acordeón 1</div>
</div>
<div class="accordion-item">
<div class="accordion-title">Título DevCodeLight 2</div>
<div class="accordion-content">Contenido del acordeón 2</div>
</div>
<div class="accordion-item">
<div class="accordion-title">Título DevCodeLight 3</div>
<div class="accordion-content">Contenido del acordeón 3</div>
</div>
</div>
<script>
// Obtener todos los elementos del acordeón
var accordionItems = document.querySelectorAll('.accordion-item');
// Agregar evento de clic a cada título del acordeón
accordionItems.forEach(function(item) {
var title = item.querySelector('.accordion-title');
var content = item.querySelector('.accordion-content');
title.addEventListener('click', function() {
// Toggle para mostrar/ocultar el contenido
content.style.display = content.style.display === 'block' ? 'none' : 'block';
// Cambiar el estilo del título al abrir/cerrar el acordeón
title.classList.toggle('active');
});
});
</script>
</body>
</html>
Por último, muestro el resultado.

