<div class="m-dropdown">
	<div class="e-button open">
		Click Me
		<div class="e-burger">
			<span></span>
			<span></span>
			<span></span>
			<span></span>
		</div>
	</div>
	<ul class="e-list">
		<li><a href="#">Item 1</a></li>
		<li><a href="#">Item 2</a></li>
		<li><a href="#">Item 3</a></li>
		<li><a href="#">Item 4</a></li>
		<li><a href="#">Item 5</a></li>
	</ul>
</div>
$f-title:'Roboto', sans-serif;
$f-body:'Open Sans', sans-serif;

@mixin centre($axis: "both") {
	position: absolute;
	@if $axis == "y" {
		top: 50%;
		-webkit-transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		-o-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	@if $axis == "x" {
		left: 50%;
		-webkit-transform: translateX(-50%);
		-moz-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		-o-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	@if $axis == "both" {
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-51%, -50%);
		-moz-transform: translate(-51%, -50%);
		-ms-transform: translate(-51%, -50%);
		-o-transform: translate(-51%, -50%);
		transform: translate(-51%, -50%);
	}
}
@mixin font-size($sizeValue: 1.6, $lineHeight: 2.4) {
  font-size: ($sizeValue * 10) + px;
  font-size: $sizeValue + rem;
  line-height: ($lineHeight * 10) + px;
}
@mixin transition($property) {
	-webkit-transition: $property;
	-moz-transition: $property;
	-ms-transition: $property;
	-o-transition: $property;
	transition: $property;
}
@mixin border-radius($radius) {
	border-radius:$radius;
	-moz-border-radius:$radius;
	-webkit-border-radius:$radius;
	-ms-border-radius: $radius;
}

html {
  font-size: 62.5%;
}

body{
	@include font-size(1.6, 2.2);
	margin:0;
	padding:0;
	font-family:$f-body;
	background:#333;
}

.m-dropdown{
	margin:50px auto;
	width:300px;
	display:block;
	
	.e-button{
		@include transition(all .3s ease-in-out);
		@include border-radius(20px);
		@include font-size(1.4, 2);
		padding: 8px 40px 8px 15px;
		z-index: 900;
		color: #fff;;
		font-weight: 900;
		position: relative;
		border: 2px solid transparent;
		margin-top: 2px;
		font-family: $f-body;
		z-index: 5;
		display:block;
		width:100px;
		margin:0 auto;
		background:#1b1b1b;
		
		&:hover{
			cursor:pointer;
			box-shadow:0 3px 6px rgba(0,0,0,0.2);
			color:#669999;
			
			.e-burger{
				span{
					background:#669999;
				}
			}
		}

		&:after,
		&:before {
			display: block;
			content: " ";
			position: absolute;
			top: 2px;
			height: 100%;
			width: 20px;
			background: #333;
			z-index: 0;
		}

		&:after {
			left: 100%;
			margin-left: 2px;
			border-bottom-left-radius: 10px;
		}
		&:before {
			right: 100%;
			margin-right: 2px;
			border-bottom-right-radius: 10px;
		}

		.e-burger {
			@include transition(all .3s ease-in-out);
			@include centre(y);
			right: 15px;
			width: 15px;
			height: 14px;
			transform-origin: center;
			z-index: -1;
			span {
				@include transition(all .2s ease-in-out);
				@include centre(y);
				@include border-radius(2px);
				width: 100%;
				height: 2px;
				background: #fff;
				display: block;
				left: 0;
				transform-origin: center;

				&:first-child {
					top: 0;
					transform: none;
				}

				&:last-child {
					top: auto;
					bottom: 0;
					transform: none;
				}
			}

			&:after {
				@include transition(height .3s ease-in-out);
				content: " ";
				display: block;
				position: absolute;
				top: 12px;
				right: -37px;
				height: 0;
				width: 199px;
				left: auto;
				z-index: -2;
				background: #1b1b1b;
				opacity: 0;
			}
		}

		&.open {
			border-color: transparent;
			background: #1b1b1b;
			border-bottom-left-radius: 0px;
			border-bottom-right-radius: 0px;
			color:#669999;


			.e-burger {
				span {
					background:#669999;

					&:first-child {
						opacity: 0;
					}
					&:nth-child(2) {
						transform: translateY(-50%) rotate(-45deg);
					}
					&:nth-child(3) {
						transform: translateY(-50%) rotate(45deg);
					}

					&:last-child {
						opacity: 0;
					}
				}

				&:after {
					height: 15px;
					opacity: 1;				
				}
			}
		}
	}
	.e-list{
		@include border-radius(5px);
		box-shadow:0 3px 6px rgba(0,0,0,0.2);
		position:relative;
		width:100%;
		margin:0;
		padding:0;
		list-style:none;
		background:#1b1b1b;
		float:left;
		overflow:hidden;
		z-index:999;
		
		li{
			display:block;
			width:100%;
			float:left;
			border-bottom:1px solid rgba(255,255,255,0.01);
			box-sizing:border-box;
			
			&:last-child{
				border:none;
			}

			a{
				@include transition(all .3s ease-in-out);
				padding:15px;
				float:left;
				width:100%;
				text-decoration:none;
				color:#fff;
				font-weight:600;
				box-sizing:border-box;
				
				&:hover{
					background:#fff;
					color:#111;
				}
			}
		}
	}
}
View Compiled
$(".e-list").slideUp(function() {
	$(".e-button").removeClass("open");
});

$(".e-button").on("click", function() {
	if ($(this).hasClass("open")) {
		$(".e-list").slideUp(function() {
			$(".e-button").removeClass("open");
		});
	} else {
		$(this).addClass("open");
		setTimeout(function() {
			$(".e-list").stop().slideDown();
		}, 200);
	}
});

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://code.jquery.com/jquery-3.2.1.js
  2. https://use.fontawesome.com/b5bf1bd49e.js