<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 &#128522;</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;
    -webkit-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;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
.accordion-content {
    max-height: 0;
    padding: 0 16px;
    color: rgba(4,57,94,1);
    background: white;
    -webkit-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 {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}
input:checked ~ .accordion-content {
    max-height: 100vh;
    padding: 16px;
}
  

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.