JSFiddle - React, Tailwind, and code Playground
by envira
HTML
<div class="Dropdown">
<div class="Dropdown-profile">
<img src="//s3-us-west-2.amazonaws.com/s.cdpn.io/33381/profile/profile-512_1.jpg" class="Photo" />
<span class="Name">Michael Lee</span>
<span class="MenuIcon">
<span class="MenuIcon-line"></span>
<span class="MenuIcon-line"></span>
<span class="MenuIcon-line"></span>
</span>
</div>
<nav class="Dropdown-nav">
<ul class="Dropdown-group">
<li>
<a href="#" class="entypo-newspaper NavLink">Posts</a>
<a href="#" class="entypo-plus OptionLink"></a>
</li>
<li><a href="#" class="entypo-archive NavLink">Categories</a>
<a href="#" class="entypo-plus OptionLink"></a></li>
<li><a href="#" class="entypo-docs NavLink">Pages</a><a href="#" class="entypo-plus OptionLink"></a></li>
<li><a href="#" class="entypo-users NavLink">Users</a><a href="#" class="entypo-plus OptionLink"></a></li>
</ul>
<ul class="Dropdown-group">
<li>
<a href="#" class="entypo-logout NavLink">Logout</a>
</li>
</ul>
</nav>
</div>
CSS
@import url(http://fonts.googleapis.com/css?family=Lato:300,400);
@import url(http://weloveiconfonts.com/api/?family=entypo);
[class*="entypo-"]:before {
font-family: 'entypo', sans-serif;
margin: 0 8px 0 0;
width: 24px;
text-align: center;
display: inline-block;
border: none;
}
.Dropdown-profile, .Dropdown-nav li .NavLink {
background: #fff;
display: block;
height: 24px;
padding: 8px;
}
body {
background: #fff;
font-family: 'Lato';
font-weight: 400;
}
a {
text-decoration: none;
color: #49bcbe;
}
.Dropdown {
border: 2px solid #ddd;
cursor: pointer;
overflow: hidden;
width: 200px;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
}
.Dropdown-profile {
position: relative;
}
.Dropdown-profile .Photo {
background: #ddd;
display: inline-block;
vertical-align: middle;
border-top-left-radius: 2px;
border-top-right-radius: 2px;
border-bottom-left-radius: 2px;
border-bottom-right-radius: 2px;
width: 24px;
height: 24px;
}
.Dropdown-profile .Name {
display: inline-block;
line-height: 24px;
padding: 0 0 0 5px;
vertical-align: middle;
width: 120px;
}
.Dropdown-nav {
height: 0;
overflow: hidden;
-webkit-transition: height 0.2s cubic-bezier(0.19, 1, 0.22, 1);
-moz-transition: height 0.2s cubic-bezier(0.19, 1, 0.22, 1);
transition: height 0.2s cubic-bezier(0.19, 1, 0.22, 1);
}
.Dropdown-nav ul {
list-style: none;
margin: 0;
padding: 0;
}
.Dropdown-nav li {
position: relative;
}
.Dropdown-nav li a {
color: #ccc;
-webkit-transition: color 0.3s ease;
-moz-transition: color 0.3s ease;
transition: color 0.3s ease;
}
.Dropdown-nav li a:hover {
color: #49bcbe;
}
.Dropdown-nav li .OptionLink {
position: absolute;
top: 0;
right: 0;
bottom: 0;
height: 22px;
font-size: 18px;
margin: auto;
z-index: 5;
}
.Dropdown-nav li .NavLink {
line-height: 24px;
}
.Dropdown.is-expanded nav {
height:...
JavaScript
$(".Dropdown").on("click", function(){
$(this).toggleClass('is-expanded');
});