CSS only Accordian

by rdillman

HTML

<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>JS Bin</title>
</head>
<body>
  <div class="accordion-wrap">
    
    <section class="accordion-item">
    <input type="radio" id="accordion-one" name="accordion-group">
    <label for="accordion-one" onclick="">Accordion Section #1</label>
    
      <div class="accordion-content">
        <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>
        
        <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>
      </div><!-- .accordion-content -->
    </section><!-- .accordion-item -->
    
    <section class="accordion-item">
    <input type="radio" id="accordion-two" name="accordion-group">
    <label for="accordion-two" onclick="">Accordion Section #2</label>
    
      <div class="accordion-content">
        <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>
        
        <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo.</p>
        
        <p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae,...

CSS

.accordion-wrap {
  font-family: Arial, sans-serif;
  font-size: 14px;
}

.accordion-wrap input[type=radio] {
  display: none;
}

.accordion-wrap label {
  border: solid 1px #ccc;
  display: block;
  padding: 10px;
  margin-top: -1px;
}

.accordion-wrap label:hover {
  cursor: pointer;
  color: #000;
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  background: white;
  padding-left: 10px;
  -webkit-transition: all .5s linear;
  -moz-transition: all .5s linear;
  -ms-transition: all .5s linear;
  -o-transition: all .5s linear;
  transition: all .5s linear;
}

.accordion-wrap input[type=radio]:checked ~ .accordion-content {
  max-height: 500px;
  -webkit-transition: all 2.5s linear;
  -moz-transition: all 2.5s linear;
  -ms-transition: all 2.5s linear;
  -o-transition: all 2.5s linear;
  transition: all 2.5s linear;
}

.accordion-wrap input[type=radio]:checked ~ label {
  background: #ddd;
}