<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