<h1>How to create an accordion without using javascript</h1>
<div class="accordion-wrapper">
<div class="accordion">
<input type="radio" name="radio-a" id="check1" checked>
<label class="accordion-label" for="check1">Accordion 1</label>
<div class="accordion-content">
<p>Hey there, you are watching codiesbugs 😊</p>
</div>
</div>
<div class="accordion">
<input type="radio" name="radio-a" id="check2">
<label class="accordion-label" for="check2">Accordion 2</label>
<div class="accordion-content">
<p>I hope you are enjoing the video, don't forget to give your feedback in comment section</p>
</div>
</div>
<div class="accordion">
<input type="radio" name="radio-a" id="check3">
<label class="accordion-label" for="check3">Accordion 3</label>
<div class="accordion-content">
<p>If you liked then don't forget to subscribe the channel for latest videos. </p>
</div>
</div>
</div>
body {
color: rgba(4,57,94,1);
background: rgba(4,57,94,.1);
padding: 0 1em 1em;
font-family: 'Open Sans', sans-serif;
}
h1{
text-align:center;
}
input {
position: absolute;
opacity: 0;
z-index: -1;
}
.accordion-wrapper {
border-radius: 8px;
overflow: hidden;
box-shadow: 0 4px 4px -2px rgba(0, 0, 0, 0.5);
width: 600px;
margin:0 auto;
}
.accordion {
width: 100%;
color: white;
overflow: hidden;
margin-bottom: 16px;
}
.accordion:last-child{
margin-bottom: 0;
}
.accordion-label {
display: flex;
box-pack: justify;
justify-content: space-between;
padding: 16px;
background: rgba(4,57,94,.8);
font-weight: bold;
cursor: pointer;
font-size: 20px;
}
.accordion-label:hover {
background: rgba(4,57,94,1);
}
.accordion-label::after {
content: "\276F";
width: 16px;
height: 16px;
text-align: center;
transition: all 0.3s;
transition: all 0.3s;
}
.accordion-content {
max-height: 0;
padding: 0 16px;
color: rgba(4,57,94,1);
background: white;
transition: all 0.3s;
transition: all 0.3s;
}
.accordion-content p{
margin: 0;
color: rgba(4,57,94,.7);
font-size: 18px;
}
input:checked + .accordion-label {
background: rgba(4,57,94,1);
}
input:checked + .accordion-label::after {
transform: rotate(90deg);
transform: rotate(90deg);
}
input:checked ~ .accordion-content {
max-height: 100vh;
padding: 16px;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.