JSFiddle - React, Tailwind, and code Playground

by swift29

HTML

<div class="clearfix menu-header">
		<ul id="menu-default" class="clearfix menu">
			<li id="menu-item-59" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-5 current_page_item menu-item-59"><a href="#">Home</a></li>
			<li id="menu-item-18" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-18"><a href="#">How-to</a></li>
			<li id="menu-item-19" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-18"><a href="#">Icons</a></li>
			<li id="menu-item-17" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-18"><a href="#">Design</a></li>
			<li id="menu-item-16" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-18"><a href="#">Web 2.0</a></li>
			<li id="menu-item-15" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-18"><a href="#">Tools</a>
                <ul class="sub-menu">
                    <li id="menu-item-14" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-18">
                        <a href="#">Test</a>
                    </li>
                </ul>
            </li>	
		</ul>
		<a href="#" id="pull">Menu</a>
	</nav>

CSS

/* Clearfix */
.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}
.clearfix:after {
    clear: both;
}
.clearfix {
    *zoom: 1;
}

/* Basic Styles */
.menu-header {
	height: 40px;
	width: 100%;
	background: #455868;
	font-size: 11pt;
	font-family: 'PT Sans', Arial, sans-serif;
	font-weight: bold;
	position: relative;
	border-bottom: 2px solid #283744;
}
.menu-header ul {
	padding: 0;
	margin: 0 auto;
	width: 600px;
	height: 40px;
}
.menu-item {
	display: inline;
	float: left;
}
.menu-header a {
	color: #fff;
	display: inline-block;
	width: 100px;
	text-align: center;
	text-decoration: none;
	line-height: 40px;
	text-shadow: 1px 1px 0px #283744;
}
.menu-item a {
	border-right: 1px solid #576979;
	box-sizing:border-box;
	-moz-box-sizing:border-box;
	-webkit-box-sizing:border-box;
}
.menu-item:last-child a {
	border-right: 0;
}
.menu-header a:hover, .menu-header a:active {
	background-color: #8c99a4;
}
.menu-header a#pull {
	display: none;
}


/*Styles for screen 515px and lower*/
@media only screen and (max-width : 480px) {
	.menu-header {
		border-bottom: 0;
        height: auto;
	}
	.menu-header ul {
		display: none;
		height: auto;
        width: 100%;
	}
	.menu-header a#pull {
		display: block;
		background-color: #283744;
		width: 100%;
		position: relative;
	}
	.menu-header a#pull:after {
		content:"";
		background: url('http://media02.hongkiat.com/responsive-web-nav/demo/nav-icon.png') no-repeat;
		width: 30px;
		height: 30px;
		display: inline-block;
		position: absolute;
		right: 15px;
		top: 10px;
	}
  	.menu-item{
  		width: 100%;
  		float: left;
  		position: relative;
  	}
  	.menu-item a {
		border-bottom: 1px solid #576979;
		border-right: 1px solid #576979;
	}
  	.menu-header a {
	  	text-align: left;
	  	width: 100%;
	  	text-indent: 25px;
  	}
    .sub-menu li{
        padding-left:5%;
        width:95%;
        background-color:#0033ff;
    }
    .current-menu-item{
        background-color:#0099ff;
    }
}

JavaScript

$(function() {
			var pull 		= $('#pull');
				menu 		= $('.menu-header ul');
				menuHeight	= menu.height();

			$(pull).on('click', function(e) {
				e.preventDefault();
				menu.slideToggle();
			});

			$(window).resize(function(){
        		var w = $(window).width();
        		if(w > 320 && menu.is(':hidden')) {
        			menu.removeAttr('style');
        		}
    		});
		});