<div class="accordion">
<h1>JavaScript Accordion</h1>
<div class="container">
<div class="label">Accordion 1<span><i class="fa-solid fa-caret-down"></i></span></div>
<div class="content">Lorem ipsum, dolor sit amet consectetur adipisicing elit. Provident, excepturi. Explicabo
praesentium quaerat eligendi aliquid? Deserunt et possimus quasi fugiat repellendus blanditiis molestias,
expedita libero eius nisi, illum veniam pariatur.</div>
</div>
<div class="container">
<div class="label">Accordion 2<span><i class="fa-solid fa-caret-down"></i></span></div>
<div class="content">Lorem ipsum, dolor sit amet consectetur adipisicing elit. Provident, excepturi. Explicabo
praesentium quaerat eligendi aliquid? Deserunt et possimus quasi fugiat repellendus blanditiis molestias,
expedita libero eius nisi, illum veniam pariatur.</div>
</div>
<div class="container">
<div class="label">Accordion 3<span><i class="fa-solid fa-caret-down"></i></span></div>
<div class="content">Lorem ipsum, dolor sit amet consectetur adipisicing elit. Provident, excepturi. Explicabo
praesentium quaerat eligendi aliquid? Deserunt et possimus quasi fugiat repellendus blanditiis molestias,
expedita libero eius nisi, illum veniam pariatur.</div>
</div>
<div class="container">
<div class="label">Accordion 4<span><i class="fa-solid fa-caret-down"></i></span></div>
<div class="content">Lorem ipsum, dolor sit amet consectetur adipisicing elit. Provident, excepturi. Explicabo
praesentium quaerat eligendi aliquid? Deserunt et possimus quasi fugiat repellendus blanditiis molestias,
expedita libero eius nisi, illum veniam pariatur.</div>
</div>
</div>
@import url('https://fonts.googleapis.com/css2?family=Poppins&display=swap');
*{
margin: 0;
padding: 0;
font-family: 'Poppins',sans-serif;
box-sizing: border-box;
}
body{
background: #22232e;
}
h1{
text-align: center;
color: #42455a;
}
.accordion{
width: 600px;
margin: 100px auto;
}
.accordion .container{
margin-bottom: 10px;
width: 100%;
padding: 10px;
background: #e0ffff;
border-radius: 5px;
}
.accordion .label{
padding: 10px;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 18px;
font-weight: 500;
color: #42455a;
cursor: pointer;
}
.accordion .label span{
font-size: 22px;
color: #333;
}
.accordion .content{
height: 0;
padding: 0 10px;
line-height: 26px;
overflow: hidden;
transition: height 0.5s;
}
.accordion .container.active .content{
height: 100px;
}
const accordion = document.getElementsByClassName('container');
for (i = 0; i < accordion.length; i++) {
accordion[i].addEventListener('click', function () {
this.classList.toggle('active')
})
}
This Pen doesn't use any external JavaScript resources.