JSFiddle - React, Tailwind, and code Playground
by Prathameshsb
HTML
<div class="accordion-container">
<div class="accordion-item">
<div class="accordion-header">Section 1</div>
<div class="accordion-content">Content for Section 1</div>
</div>
<div class="accordion-item">
<div class="accordion-header">Section 2</div>
<div class="accordion-content">Content for Section 2</div>
</div>
<div class="accordion-item">
<div class="accordion-header">Section 3</div>
<div class="accordion-content">Content for Section 3</div>
</div>
</div>
CSS
body {
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
margin: 0;
font-family: Arial, sans-serif;
}
.accordion-container {
width: 300px;
}
.accordion-item {
border: 1px solid #ccc;
margin-bottom: 5px;
}
.accordion-header {
padding: 10px;
cursor: pointer;
background-color: #f1f1f1;
border-bottom: 1px solid #ccc;
}
.accordion-content {
padding: 10px;
display: none;
}
JavaScript
document.addEventListener('DOMContentLoaded', function () {
const accordionItems = document.querySelectorAll('.accordion-item');
accordionItems.forEach(item => {
const header = item.querySelector('.accordion-header');
const content = item.querySelector('.accordion-content');
header.addEventListener('click', () => {
content.style.display = content.style.display === 'block' ? 'none' : 'block';
});
});
});