JSFiddle - React, Tailwind, and code Playground
by Nenad Novakovic
HTML
<div id="menu_outer">
<ul id="menu_inner" class="clearfix">
<li class="active">
<a href="javascript:;">Item 1</a>
</li>
<li>
<a href="javascript:;" class="subber">Item 2</a>
<ul class="menu_subber clearfix">
<li>
<a href="javascript:;">Item 2a</a>
</li>
<li>
<a href="javascript:;">Item 2b</a>
</li>
</ul>
</li>
<li>
<a href="javascript:;">Item 3</a>
</li>
<li>
<a href="javascript:;" class="subber">Item 4</a>
<ul class="menu_subber clearfix">
<li>
<a href="javascript:;">Item 2a</a>
</li>
<li>
<a href="javascript:;">Item 2b</a>
</li>
</ul>
</li>
</ul>
</div>
<div id="content">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptates dolores quidem sequi ipsam odio ratione vitae amet veritatis eveniet quae laborum rem deserunt adipisci quibusdam cumque iure inventore nostrum nihil.
</div>
CSS
@import url(http://fonts.googleapis.com/css?family=Ubuntu:300,400);
body {
background: #555;
font: 12px/1.3em 'Ubuntu', sans-serif;
color: #fefefe;
}
a {
color: #666;
text-decoration: none;
}
ul {
list-style-type: none;
margin: 0;
padding: 0;
}
.blur {
-ms-filter: blur(1px);
-webkit-filter: blur(1px);
-moz-filter: blur(1px);
-o-filter: blur(1px);
filter: progid:DXImageTransform.Microsoft.Blur(pixelradius=1);
}
#menu_outer {
font-weight: normal;
position: relative;
text-align: center;
margin: 17px 0;
z-index: 20;
}
#menu_inner {
list-style-type: none;
font-size: 15px;
letter-spacing: 1px;
padding: 0;
margin: 0;
display: inline-block;
}
#menu_inner li {
float: left;
position: relative;
}
#menu_inner li a {
position: relative;
display: block;
padding: 5px 20px;
overflow: hidden;
z-index: 10;
color: #999;
text-align: center;
text-transform: capitalize;
}
#menu_inner .active a {
border-bottom: 2px solid #c88;
color: #fff;
}
#menu_inner a {
-webkit-transition: .3s ease-in-out;
-moz-transition: .3s ease-in-out;
-o-transition: .3s ease-in-out;
-ms-transition: .3s ease-in-out;
transition: .3s ease-in-out;
}
#menu_inner li:not(.active) a:hover {
color: #fff;
}
.menu_subber {
background: #666;
position: absolute;
top: 25px;
left: 0;
width: 100%;
display: none;
}
.menu_subber li {
float: none !important;
}
.menu_subber a {
padding: 5px 0 !important;
text-align: center;
min-width: 100%;
}
.clearfix:before, .clearfix:after {
content: "";
display: block;
height: 0;
overflow: hidden;
}
.clearfix:after {
clear: both;
}
.clearfix {
zoom: 1;
}
JavaScript
$("#menu_inner a").hover(function () {
$(this)
.parent()
.siblings()
.not('.active')
.stop()
.addClass('blur');
$(this).closest('li').siblings().each(function () {
$(this).find("ul").stop().slideUp(240);
});
$(this).closest('li').find('ul').stop().slideToggle(240);
}, function () {
$(this)
.parent()
.siblings()
.not('.active')
.stop()
.removeClass('blur');
}).closest("ul").on("mouseleave", function () {
$(this).find("ul").stop().slideUp(240);
});