<nav id="nav" role="navigation">
    <a href="#nav" title="Show navigation">Show navigation</a>
    <a href="#" title="Hide navigation">Hide navigation</a>
    <ul>
        <li><a href="/">Home</a></li>
        <li>
          <a href="/" aria-haspopup="true"><span>Blog</span></a>
            <ul>
                <li><a href="/">HTML</a></li>
                <li><a href="/">CSS</a></li>
            </ul>
        </li>
        <li>
          <a href="/" aria-haspopup="true"><span>Work</span></a>
            <ul>
                <li><a href="/">Web Design</a></li>
                <li><a href="/">Typography</a></li>
                <li><a href="/">Front-End</a></li>
            </ul>
        </li>
        <li><a href="/">About</a></li>
    </ul>
</nav>
body {
  background-color: #333;
  padding: 1.25em; /* 20 */
}
ul {
    padding: 0;
}
ul, li {
  list-style: none;
}
a {
  font-family: sans-serif;
  text-decoration: none;
}
#nav {
  width: 60em; /* 1000 */
  position: absolute;
  top: 25%;
  left: 50%;
  margin-left: -30em; /* 30 480 */
}
#nav > a {
  display: none;
}
#nav li {
  position: relative;
}
#nav li a {
  color: #fff;
  display: block;
}
#nav li a:active {
  background-color: #c00 !important;
}
#nav span:after {
  width: 0;
  height: 0;
  border: 0.313em solid transparent; /* 5 */
	border-bottom: none;
	border-top-color: #efa585;
	content: '';
	vertical-align: middle;
	display: inline-block;
	position: relative;
	right: -0.313em; /* 5 */
}
/* first level */
#nav > ul {
	height: 3.75em; /* 60 */
	background-color: #e15a1f;
}
#nav > ul > li {
	width: 25%;
	height: 100%;
	float: left;
}
#nav > ul > li > a {
	height: 100%;
	font-size: 1.5em; /* 24 */
	line-height: 2.5em; /* 60 (24) */
	text-align: center;
}
#nav > ul > li:not( :last-child ) > a {
	border-right: 1px solid #cc470d;
}
#nav > ul > li:hover > a,
#nav > ul:not( :hover ) > li.active > a {
	background-color: #cc470d;
}
/* second level */
#nav li ul {
	background-color: #cc470d;
	display: none;
	position: absolute;
	top: 100%;
}
#nav li:hover ul {
	display: block;
	left: 0;
	right: 0;
}
#nav li:not( :first-child ):hover ul {
	left: -1px;
}
#nav li ul a {
	font-size: 1.25em; /* 20 */
	border-top: 1px solid #e15a1f;
	padding: 0.75em; /* 15 (20) */
}
#nav li ul li a:hover,
#nav li ul:not( :hover ) li.active a {
	background-color: #e15a1f;
}
@media only screen and ( max-width: 62.5em ) { /* 1000 */
	#nav {
		width: 100%;
		position: static;
		margin: 0;
	}
}
@media only screen and ( max-width: 40em ) /* 640 */
{
	html {
		font-size: 75%; /* 12 */
	}
	#nav {
		position: relative;
		top: auto;
		left: auto;
	}
	#nav > a {
		width: 3.125em; /* 50 */
		height: 3.125em; /* 50 */
		text-align: left;
		text-indent: -9999px;
		background-color: #e15a1f;
		position: relative;
	}
	#nav > a:before,
	#nav > a:after {
		position: absolute;
		border: 2px solid #fff;
		top: 35%;
		left: 25%;
		right: 25%;
		content: '';
	}
	#nav > a:after {
		top: 60%;
	}
	#nav:not( :target ) > a:first-of-type,
	#nav:target > a:last-of-type {
		display: block;
	}
	/* first level */
	#nav > ul {
		height: auto;
		display: none;
		position: absolute;
		left: 0;
		right: 0;
	}
	#nav:target > ul {
		display: block;
	}
	#nav > ul > li {
		width: 100%;
		float: none;
	}
	#nav > ul > li > a {
		height: auto;
		text-align: left;
		padding: 0 0.833em; /* 20 (24) */
	}
	#nav > ul > li:not( :last-child ) > a {
		border-right: none;
		border-bottom: 1px solid #cc470d;
	}
	/* second level */
	#nav li ul {
		position: static;
		padding: 1.25em; /* 20 */
		padding-top: 0;
	}
}
/*
	By Osvaldas Valutis, www.osvaldas.info
	Available for use under the MIT License  
  More informations:
  https://osvaldas.info/drop-down-navigation-responsive-and-touch-friendly
*/
;(function( $, window, document, undefined )
{
	$.fn.doubleTapToGo = function( params )
	{
		if( !( 'ontouchstart' in window ) &&
			!navigator.msMaxTouchPoints &&
			!navigator.userAgent.toLowerCase().match( /windows phone os 7/i ) ) return false;
		this.each( function()
		{
			var curItem = false;
			$( this ).on( 'click', function( e )
			{
				var item = $( this );
				if( item[ 0 ] != curItem[ 0 ] )
				{
					e.preventDefault();
					curItem = item;
				}
			});
			$( document ).on( 'click touchstart MSPointerDown', function( e )
			{
				var resetItem = true,
					parents	  = $( e.target ).parents();
				for( var i = 0; i < parents.length; i++ )
					if( parents[ i ] == curItem[ 0 ] )
						resetItem = false;
				if( resetItem )
					curItem = false;
			});
		});
		return this;
	};
})( jQuery, window, document );
$( '#nav li:has(ul)' ).doubleTapToGo();
/*
	VIEWPORT BUG FIX
	iOS viewport scaling bug fix, by @mathias, @cheeaun and @jdalton
*/
;(function(e){function o(){s.content="width=device-width,minimum-scale="+i[0]+",maximum-scale="+i[1];e.removeEventListener(n,o,true)}var t="addEventListener",n="gesturestart",r="querySelectorAll",i=[1,1],s=r in e?e[r]("meta[name=viewport]"):[];if((s=s[s.length-1])&&t in e){o();i=[.25,1.6];e[t](n,o,true)}})(document);

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://code.jquery.com/jquery-1.12.4.min.js