Pure CSS horizontal collapsible by Aysha Anggraini

Posted on September 22nd, 2019

This is an awesome horizontal collapsible by Aysha Anggraini with html and scss. To see how it works, just click on the button Run Pen below:

How to create a horizontal collapsible

Step 1: Add Html

<body>
  <div class="container">
    <ul class="accordion">
      <li class="tabs">
        <div class="social-links twitter-icon">
          <a href="https://twitter.com/renettarenula">Twitter</a>
        </div>
        <div class="paragraph">
          <h1>Twitter</h1>
          <p>
            My thoughts in 140 characters or less. Sometimes, I do not know how
            to correctly use Twitter.
          </p>
        </div>
      </li>
      <li class="tabs">
        <div class="social-links facebook-icon">
          <a href="https://facebook.com">Facebook</a>
        </div>
        <div class="paragraph">
          <h1>Facebook</h1>
          <p>
            Where I get to stalk my friends and let them stalk me. A place to
            get people to stroke your ego.
          </p>
        </div>
      </li>
      <li class="tabs">
        <div class="social-links linkedin-icon">
          <a href="https://my.linkedin.com/pub/aysha-anggraini/49/a82/a05/"
            >LinkedIn</a
          >
        </div>
        <div class="paragraph">
          <h1>LinkedIn</h1>
          <p>
            I act totally professional on this one. It is what the recruiters
            see, you see.
          </p>
        </div>
      </li>
      <li class="tabs">
        <div class="social-links insta-icon">
          <a href="http://instagram.com/renettarenula">Instagram</a>
        </div>
        <div class="paragraph">
          <h1>Instagram</h1>
          <p>
            Where I post my duckface pictures. Occasionally, I would post
            pictures of my food and my cats.
          </p>
        </div>
      </li>
      <li class="tabs">
        <div class="social-links youtube-icon">
          <a href="https://youtube.com">Youtube</a>
        </div>
        <div class="paragraph">
          <h1>YouTube</h1>
          <p>
            Just kidding! I do not have a YouTube account. I'm not too fond of
            the camera.
          </p>
        </div>
      </li>
      <li class="tabs">
        <div class="social-links tumblr-icon">
          <a href="https://renettarenula.tumblr.com/">Tumblr</a>
        </div>
        <div class="paragraph">
          <h1>Tumblr</h1>
          <p>
            I have a tumblr but I don't really use it. I still prefer WordPress.
            I'm quite old-fashioned.
          </p>
        </div>
      </li>
      <li class="tabs">
        <div class="social-links dribbble-icon">
          <a href="http://dribbble.com">Dribbble</a>
        </div>
        <div class="paragraph">
          <h1>Dribbble</h1>
          <p>
            I do not have a Dribbble account. Would any of you be so kind and
            send me an invite?
          </p>
        </div>
      </li>
    </ul>
  </div>
</body>

Step 2: Add CSS

@import 'compass/css3';

/* Updated version - 24th Nov 2014 */

@import 'compass/reset';
@import 'compass/css3';

/* Variables */

$backgroundColor: #f77462;
$list: #6dc5dd;
$border: #5ab2ca;
$geneicons: #fff;

body {
  background: $backgroundColor;
  font-family: Lato, sans-serif;
}

@font-face {
  font-family: 'Genericons';
  src: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/genericons-regular-webfont.eot');
  src: url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/genericons-regular-webfont.woff')
      format('woff'), url('https://s3-us-west-2.amazonaws.com/s.cdpn.io/53819/genericons-regular-webfont.eot')
      format('truetype');
  font-weight: normal;
  font-style: normal;
}

[class*='genericon'] {
  display: inline-block;
  width: 16px;
  height: 16px;
  -webkit-font-smoothing: antialiased;
  font-size: 16px;
  line-height: 1;
  font-family: 'Genericons';
  text-decoration: inherit;
  font-weight: normal;
  font-style: normal;
  vertical-align: top;
}

/* IE7 */
[class*='genericon'] {
  *overflow: auto;
  *zoom: 1;
  *display: inline;
}

.container {
  margin: 100px auto;
}

.accordion {
  background: $border;
  width: 100%;
  min-width: 950px;
  display: block;
  list-style-type: none;
  overflow: hidden;
  height: 200px;
  font-size: 0;
}

.tabs {
  display: inline-block;
  background-color: $list;
  border-right: $border 1px solid;
  width: 80px;
  height: 200px;
  overflow: hidden;
  position: relative;
  margin: 0;
  font-size: 16px;
  @include transition(all 0.4s 0.1s ease-in-out);

  &:hover {
    width: 450px;

    .social-links {
      a {
        &:before {
          margin-left: -100px;
        }

        &:after {
          margin-left: -5px;
        }
      }
    }
  }

  .paragraph {
    position: relative;
    width: 360px;
    margin-left: 80px;
    padding: 50px 0 0 10px;
    height: 200px;
    background: #fff;

    h1 {
      font-size: 2.5em;
      margin-bottom: 10px;
    }

    p {
      font-size: 0.88em;
      line-height: 1.5em;
      padding-right: 30px;
    }
  }
}

.social-links {
  display: block;

  a {
    display: block;
    text-indent: -9999px;
    font-size: 0;
    line-height: 0;

    &:before,
    &:after {
      @include transition(all 0.4s 0.1s ease-in-out);
      width: 80px;
      height: 200px;
      position: absolute;
      text-indent: 0;
      padding-top: 90px;
      padding-left: 25px;
      display: block;
      font: normal 30px Genericons;
      color: $geneicons;
    }

    &:after {
      font-size: 48px;
      padding-left: 20px;
      padding-top: 80px;
      margin-left: 85px;
    }
  }
}

.twitter-icon {
  a {
    &:before,
    &:after {
      content: '\f202';
    }

    &:after {
      @include background-image(linear-gradient(#7adcf9, #4bc9f5));
    }
  }
}

.facebook-icon {
  a {
    &:before,
    &:after {
      content: '\f204';
    }

    &:after {
      @include background-image(linear-gradient(#548abf, #295b9e));
    }
  }
}

.linkedin-icon {
  a {
    &:before,
    &:after {
      content: '\f208';
    }

    &:after {
      @include background-image(linear-gradient(#00a9cd, #0083b4));
    }
  }
}

.insta-icon {
  a {
    &:before,
    &:after {
      content: '\f215';
    }

    &:after {
      @include background-image(linear-gradient(#7fc121, #298733));
    }
  }
}

.youtube-icon {
  a {
    &:before,
    &:after {
      content: '\f213';
    }

    &:after {
      @include background-image(linear-gradient(#df192a, #c41222));
    }
  }
}

.tumblr-icon {
  a {
    &:before,
    &:after {
      content: '\f214';
    }

    &:after {
      @include background-image(linear-gradient(#283e56, #325372));
    }
  }
}

.dribbble-icon {
  a {
    &:before,
    &:after {
      content: '\f201';
    }

    &:after {
      @include background-image(linear-gradient(#e03a70, #f189b8));
    }
  }
}