<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet">

<div id="wrapper">
  <h1><i class='icon-sort-by-attributes'></i> CSS3 <span>Card Deck Drop Down</span></h1>
      <div class="card-drop">
        <a class='toggle' href="#">
          <i class='icon-suitcase'></i> 
          <span class='label-active'>Everyting</span>
        </a>
        <ul>
          <li class='active'>
            <a data-label="Everyting" href="#"><i class='icon-suitcase'></i> Everyting</a>
          </li>
          <li>
            <a data-label="Design" href="#"><i class='icon-magic'></i> Design</a>
          </li>
          <li >
            <a data-label="UI-UX" href="#"><i class='icon-bolt'></i> UI-UX</a>
          </li>
          <li>
            <a data-label="Print" href="#"><i class='icon-tint'></i> Print</a>
          </li>
          <li>
            <a data-label="Photography" href="#"><i class='icon-camera-retro'></i> Phtography</a>
          </li>

        </ul>
      </div>
    </div>
@import "compass/css3";

@import "compass/reset";
@import "compass/css3";

$green:#6A9094;
$border:darken($green, 10%);

body{
  background-color: #EDEAE3;
  padding-top:40px;
  font-family: helvetica, arial, sans-serif;
  font-size: 1em;
}
*{
  @include box-sizing(border-box);
}
#wrapper{
  width: 680px;
  margin: 0 auto;
}
h1{
  font-size:2.5em;
  text-align: center;
  font-weight: bold;
  margin-bottom:10px;
  line-height: 1.4em;
  color: darken($green, 8%);
  text-shadow:0 1px 0 rgba(255,255,255,.8);
  font-family:helvetica, arial, sans-serif;
  span{
    font-weight: lighter;
  }
}

.card-drop{
  max-width: 300px;
  position: relative;
  margin: 0 auto;
  @include perspective(800px);
  a{
    display: block;
    width: 100%;
    background-color: salmon;
    padding:20px 0 20px 20px;
    height: 60px;
    text-decoration: none;
    color: darken($green, 30%);
    background-color: $green;
    border-bottom: 1px solid $border;
    @include transition(all .3s ease-out );
    i{
      display: inline-block;
      width: 20px;
    }
  }
  >a.toggle{
    position: relative;
    z-index: 300;
    @include backface-visibility(hidden);
    @include transform-style(preserve-3d);
    @include transform-origin(50%, 0%);
    @include transition(.1s linear);
    background-color: lighten($green, 8%);
    &:active{
       @include rotateX(60deg);
    }
    &.active{
      &:before{
        content: "\f0d8";
       }
    }

    &:before{
      font-family: 'FontAwesome';
      content: '\f0d7';
      font-size: 1.3em;
      color: darken($green, 20%);
      text-shadow:0 1px 0 rgba(255,255,255,.3);
      position: absolute;
      right: 0;
      top: 0;
      height: 59px;
      line-height: 60px;
      width: 60px;
      text-align: center;
      display: block;
      border-left: 1px solid $border;
    }
  }
  ul{
    position: absolute;
    height: 100%;
    top: 0;
    display: block;
    width: 100%;
    li{
      margin: 0 auto;
      @include transition(all, .3s ease-out);
      position: absolute;
      top: 0;
      z-index: 0;
      width:100%;
      a:hover{
        background-color: lighten($green, 5%);
        color: lighten($green, 44%);
      }
      &.active{
        a{
          color: lighten($green, 20%);
          background-color: darken($green, 5%);
          cursor: default;
        }
      }
      &.closed{
        a:hover{
          cursor: default;
          background-color: $green;
        }
      }
    }
  }
}
View Compiled
(function($){
  
  /* -------------------------------------------------------- */ 
  /*  //set Global variables
  /* -------------------------------------------------------- */ 
  var cards = $(".card-drop"),
    toggler = cards.find(".toggle"),
    links = cards.find("ul>li>a"),
    li = links.parent('li'),
    count = links.length,
    width = links.outerWidth();

    //set z-Index of drop Items
    links.parent("li").each(function(i){
      $(this).css("z-index" , count - i); //invert the index values
    });

    //set top margins & widths of li elements
    function setClosed(){
      li.each(function(index){
         $(this).css("top" , index *2)
            .css("width" , width - index *2)
            .css("margin-left" , (index*2)/2);
      });
      li.addClass('closed');
      toggler.removeClass("active");
    }
    setClosed();

  /* -------------------------------------------------------- */ 
  /*  Toggler Click handler
  /* -------------------------------------------------------- */ 
  toggler.on("mousedown" , function(){
    var $this = $(this); //cache $(this)
    //if the menu is active:
    if($this.is(".active")){
      setClosed();
    }else{
      //if the menu is un-active:
      $this.addClass("active");
      li.removeClass('closed');
      //set top margins
      li.each(function(index){
         $(this).css("top" , 60 * (index + 1))
            .css("width" , "100%")
            .css("margin-left" , "0px");
      });
    }
  });

  /* -------------------------------------------------------- */ 
  /*  Links Click handler
  /* -------------------------------------------------------- */ 
  links.on("click" , function(e){
    var $this = $(this),
      label = $this.data("label");
      icon = $this.children("i").attr("class");
      
      li.removeClass('active');
    if($this.parent("li").is("active")){
      $this.parent('li').removeClass("active");
    }else{
      $this.parent("li").addClass("active");
    }
    toggler.children("span").text(label);
    toggler.children("i").removeClass().addClass(icon);
    setClosed();
    e.preventDefault;
  });

})(jQuery);

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. //cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js