JSFiddle - React, Tailwind, and code Playground
by Justin
HTML
<link rel="stylesheet" href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<nav class="menu push-menu-left">
<ul>
<li><a class="close-menu">x</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
<li><a href="#">Lorem</a></li>
<li><a href="#">Ipsum</a></li>
</ul>
</nav><!-- /push menu left -->
<div id="wrapper">
<div id="main">
<div class="container">
<div class="buttons">
<a href="#" class="nav-toggler toggle-slide-left"><i class="glyphicon glyphicon-align-justify"></i></a>
</div>
<section class="content">
<h1>Title</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Impedit, eos inventore perferendis adipisci aperiam dolores voluptates ad harum quia non! Pariatur, quae temporibus ad molestiae beatae odio impedit a facilis!
</p>
</section>
</div>
</div>
</div>
CSS
body {
overflow-x: hidden
}
#wrapper {
position: relative;
z-index: 10;
top: 0;
left: 0;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
-ms-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
}
section {
margin-bottom: 30px
}
section h1 {
font-family: "Oswald", sans-serif;
margin-bottom: 10px;
}
section p {
margin-bottom: 30px
}
section p:last-child {
margin-bottom: 0
}
section:last-child {
margin-bottom: 0
}
section.toggle {
text-align: center
}
.mask {
position: fixed;
top: 0;
left: 0;
z-index: 15;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.8);
}
nav.menu {
position: fixed;
z-index: 20;
background-color: #1d1d1d;
overflow: hidden;
-webkit-transition: all 0.3s;
-moz-transition: all 0.3s;
-ms-transition: all 0.3s;
-o-transition: all 0.3s;
transition: all 0.3s;
}
nav.menu ul {
list-style-type: none;
margin: 0;
padding: 0;
}
nav.menu a {
font-weight: 300;
color: #fff;
}
button.close-menu {
background-color: #3184a1;
color: #fff;
}
button.close-menu:focus {
outline: none
}
nav.push-menu-left {
top: 0;
width: 300px;
height: 100%;
}
nav.push-menu-left li {
display: block;
text-align: center;
border-bottom: solid 1px #fff;
border-top: solid 1px #fff;
}
nav.push-menu-left li:first-child {
border-top: none
}
nav.push-menu-left li:last-child {
border-bottom: none
}
nav.push-menu-left a {
display: block;
padding: 10px;
font-size: 18px;
}
nav.push-menu-left button.close-menu {
margin: 10px 0;
padding: 10px 30px;
background-color: #3184a1;
color: #fff;
}
nav.push-menu-left {
left: -300px
}
body.pml-open nav.push-menu-left {
left: 0
}
body.pml-open #wrapper {
left: 300px
}
JavaScript
$(function() {
$('.nav-toggler').click(function() {
$('body').addClass('pml-open');
$('body').append('<div class="mask"></div>');
})
$('body').on('click', '.mask', function(){
$('body').removeClass('pml-open');
$('.mask').remove();
} );
$('.close-menu').click(function() {
$('body').removeClass('pml-open');
$('.mask').remove();
})
})