JSFiddle - React, Tailwind, and code Playground
by harsh dand
HTML
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Clickable Nav -->
<div class="click-nav">
<ul class="no-js">
<li> <a class="clicker">Profile</a>
<ul>
<li><a href="#">Dashboard</a>
</li>
<li><a href="#">Settings</a>
</li>
<li><a href="#">Privacy</a>
</li>
<li><a href="#">Help</a>
</li>
<li><a href="#">Sign out</a>
</li>
</ul>
</li>
</ul>
</div>
<!-- /Clickable Nav -->
CSS
/*------------------------------------*\
RESET
\*------------------------------------*/
*, *:after, *:before {
margin:0;
padding:0;
box-sizing:border-box;
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
-webkit-font-smoothing:antialiased;
font-smoothing:antialiased;
text-rendering:optimizeLegibility;
}
body {
font:400 13px/1.4'Helvetica Neue', Helvetica, Arial, sans-serif;
background:#333;
}
/*------------------------------------*\
STRUCTURE
\*------------------------------------*/
.wrapper {
max-width:1280px;
margin:0 auto;
}
.header {
padding:15px 25px;
background:#FFF;
border-left:5px solid #2BA6CB;
overflow:hidden;
}
.logo {
float:left;
}
.nav {
float:right;
margin:12px 0;
list-style:none;
}
.nav-link {
}
.nav-link a {
color:#2BA6CB;
text-decoration:none;
}
/*------------------------------------*\
Clickable Dropdown
\*------------------------------------*/
body {
background:url(../img/bg.png);
}
.click-nav {
margin:200px auto;
width:200px;
}
.click-nav ul {
font-weight:900;
}
.click-nav ul li {
position:relative;
list-style:none;
cursor:pointer;
}
.click-nav ul li ul {
position:absolute;
left:0;
right:0;
z-index:-1;
}
.click-nav ul .clicker {
background:#2284B5;
color:#FFF;
}
.click-nav ul .clicker:hover, .click-nav ul .active {
background:#196F9A;
}
.click-nav img {
position:absolute;
top:9px;
left:12px;
}
.click-nav ul li a {
transition:background-color 0.2s ease-in-out;
-webkit-transition:background-color 0.2s ease-in-out;
-moz-transition:background-color 0.2s ease-in-out;
display:block;
padding:8px 10px 8px 40px;
background:#FFF;
color:#333;
text-decoration:none;
}
.click-nav ul li a:hover {
background:#F2F2F2;
}
/* Fallbacks */
.click-nav .no-js ul {
display:none;
}
.click-nav .no-js:hover ul {
display:block;
}
JavaScript
$(function () {
// Clickable Dropdown
$('.click-nav > ul').toggleClass('no-js js');
$('.click-nav .js ul').hide();
$('.click-nav .js').click(function (e) {
if ($('.click-nav .js ul').is(':visible')) {
$('.click-nav .js ul').slideUp(200);
} else {
var outerHeight = $('.click-nav .js ul').outerHeight();
$('.click-nav .js ul').css('margin-top', '-' + outerHeight + 'px');
$('.click-nav .js ul').slideDown(200);
}
$('.clicker').toggleClass('active');
e.stopPropagation();
});
$(document).click(function () {
if ($('.click-nav .js ul').is(':visible')) {
$('.click-nav .js ul', this).slideUp();
$('.clicker').removeClass('active');
}
});
});