<div class="accordion">
<div class="accordion-item">
<input type="checkbox" id="accordion-item-1" class="item-input" />
<label for="accordion-item-1" class="item-label">Item 1</label>
<div class="item-content">Lorem ipsum dolor 1</div>
</div>
<div class="accordion-item">
<input type="checkbox" id="accordion-item-2" class="item-input" />
<label for="accordion-item-2" class="item-label">Item 2</label>
<div class="item-content">Lorem ipsum dolor 2</div>
</div>
</div>
body .accordion {
max-width: 300px;
}
.accordion {
border: 1px solid #ccc;
border-radius: 10px;
overflow: hidden;
}
.accordion-item {
overflow: hidden;
}
.accordion-item:not(:last-child) {
border-bottom: 1px solid #fff;
}
.item-input {
display: none;
}
.item-label {
display: flex;
justify-content: space-between;
background-color: #282a36;
color: #fff;
padding: 16px;
}
.item-label::after {
content: ">";
width: 1em;
height: 1em;
text-align: center;
transition: transform 0.3s ease-in-out;
}
.item-content {
transition: all 0.3s ease-in-out;
max-height: 0;
padding: 0 16px;
}
.item-input:checked ~ .item-label::after {
transform: rotate(90deg);
}
.item-input:checked ~ .item-content {
max-height: 100vh;
padding: 16px;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.