JSFiddle - React, Tailwind, and code Playground

by Carlos Medina

HTML

<script src="https://code.jquery.com/jquery-2.2.0.js"></script>
<div id="container">

  <div id="canvas">

    <div id="nav">
      <ul id="toggle" class="menu">

        <li><a href="#home">HOME</a>
        </li>

        <li><a href="#about-us">ABOUT US</a>
        </li>

        <li><a href="#portfolio">PORTFOLIO</a>
        </li>

        <li><a href="#contact">CONTACT</a>
        </li>
      </ul>

    </div>
    <span class="toggle-nav" id="bars"><i class="fa fa-bars"></i></span>


    <div id="main">
	
      <div id="portfolio" class="content">Portfolio.............</div>

      <div id="contact" class="content">Contact ...........</div>
<div id="home" class="content">home ................</div>
      <div id="about-us" class="content">About us ................</div>

    </div>

  </div>

CSS

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html,
body { height: 100%; }

.wrapper {
  display: flex;
  min-height: 100%;
}

.content {
    display: none;}
	

a{
    text-decoration: none;
}
.hamburger-checkbox {
  position: absolute;
  opacity: 0;
}

.hamburger-label {
  position: absolute;
  top: 32px;
  left: 32px;
  z-index: 1;
  display: block;
  width: 42px;
  height: 42px;
  font: 42px/42px fontawesome;
  text-align: center;
  color: #B4BA22;
  cursor: pointer;
}

.hamburger-checkbox:checked ~ .hamburger-label:before {
  content: '\f00d';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: 42px;
  height: 42px;
  font: 42px/42px fontawesome;
  text-align: center;
  color: #eee;
}

.content {
  flex: 1;
  padding: 80px 50px;
  background: #eee;
  color: #444;
  box-shadow: 0 0 5px black;
  transition: all .3s;
}

.sidebar {
  overflow: hidden;
  width: 0;
  height: 0;
  background: #B4BA22;
  color: #eee;
  transition: all .3s;
}

.hamburger-checkbox:checked ~ .sidebar {
  width: 25%;
  height: auto;
  padding-top: 6.5em;
}

.menu li:hover{
    background: #00ff99;
}

.menu { list-style: none; }

.menu li {
  padding: 16px 32px;
  border-top: 1px solid #2b2b2b;
}

.menu li:last-child { border-bottom: 1px solid #2b2b2b; }

/* Decorative styles unrelated to the demo */

body { font-family: 'Open Sans', sans-serif; }

h1 {
  margin: 32px 0;
  font-weight: 300;
  font-size: 200%;
}

p { margin: 0 0 16px 0; }

a { color: white; }

JavaScript

$(function() {    
    $(window).on('hashchange', function(e){
        $("#main .content").hide();
        $(window.location.hash).show();
    });
    setTimeout(function(){
	if(window.location.hash != ""){
		$(window).trigger('hashchange');
	    }
	}, 10);
    
    
});
 // Calling the function
$(function() {
    $('.toggle-nav').click(function() {
        toggleNavigation();
    });
});


// The toggleNav function itself
function toggleNavigation() {
    if ($('#container').hasClass('display-nav')) {
        // Close Nav
        $('#container').removeClass('display-nav');
    } else {
        // Open Nav
        $('#container').addClass('display-nav');
    }
}

var selector = '.menu li';

$(selector).on('click', function() {
  $(selector).removeClass('active');
  $(this).addClass('active');
});


// SLiding codes
$("#toggle > li > div").click(function () {
    if (false == $(this).next().is(':visible')) {
        $('#toggle ul').slideUp();
    }

    var $currIcon=$(this).find("span.the-btn");

    $("span.the-btn").not($currIcon).addClass('fa-plus').removeClass('fa-minus');

    $currIcon.toggleClass('fa-minus fa-plus');

    $(this).next().slideToggle();

    $("#toggle > li > div").removeClass("active");
    $(this).addClass('active');

});