JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/topcoat/0.8.0/css/topcoat-mobile-light.css">
<div class="topcoat-navigation-bar">
<div class="topcoat-navigation-bar__item left quarter">
<a id="slide-menu-button" class="topcoat-icon-button--quiet slide-menu-button">
<span class="topcoat-icon topcoat-icon--menu-stack"></span>
</a>
</div>
<div class="topcoat-navigation-bar__item center half">
<h1 class="topcoat-navigation-bar__title"></h1>
</div>
</div>
<nav class="side-nav">
<div class="topcoat-list__container side-nav__list__container">
<ul class="topcoat-list side-nav__list">
<li class="topcoat-list__item side-nav__list__item">
<a href="#" class="side-nav__button">Item</a>
</li>
<li class="topcoat-list__item side-nav__list__item is-active">
<a href="#" class="side-nav__button">Item</a>
</li>
<li class="topcoat-list__item side-nav__list__item">
<a href="#" class="side-nav__button">Item</a>
</li>
<li class="topcoat-list__item side-nav__list__item">
<a href="#" class="side-nav__button">Item</a>
</li>
<li class="topcoat-list__item side-nav__list__item is-active">
<a href="#" class="side-nav__button">Item</a>
</li>
<li class="topcoat-list__item side-nav__list__item">
<a href="#" class="side-nav__button">Item</a>
</li>
<li class="topcoat-list__item side-nav__list__item">
<a href="#"...
CSS
/* BODY AND GLOBAL STYLES */
html, body {
margin:0;
padding:0;
height: 100%;
overflow:hidden;
}
body {
font-family: source-sans-pro, sans-serif;
position: relative;
width: 100%;
height:100%;
overflow: hidden;
-webkit-font-smoothing: antialiased;
}
body.left-nav .topcoat-navigation-bar, body.left-nav .main-content {
left:200px;
}
.topcoat-navigation-bar {
position:absolute;
width:100%;
z-index:100;
transition: left 0.2s ease-out;
-webkit-transition: left 0.2s ease-out;
transform: translate3d(0, 0, 0);
-webkit-transform: translate3d(0, 0, 0);
}
.side-nav {
display:block;
position:absolute;
top:0;
left:0;
width:200px;
height:100%;
background-color:#dfe2e2;
overflow-y:scroll;
-webkit-overflow-scrolling: touch;
}
.side-nav__list__container {
border-top:none;
border-bottom:none;
}
.side-nav__list {
border-top:none;
}
.side-nav__list__item {
padding:0;
}
.side-nav__button {
display:block;
width:100%;
height:100%;
padding: 1.25rem;
box-sizing: border-box;
color: #454545;
text-decoration:none;
}
.side-nav__list__item.is-active > a {
color:#4c729a;
}
.side-nav__button:hover {
background-color:#dfe2e2;
outline:none;
}
.side-nav__button:active {
background-color:#dfe2e2;
outline:none;
}
.main-content {
position: absolute;
background: inherit;
left: 0;
width:100%;
height:100%;
transition: left 0.2s ease-out;
-webkit-transition: left 0.2s ease-out;
transform: translate3d(0, 0, 0);
-webkit-transform: translate3d(0, 0, 0);
-moz-box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, 0.57);
-webkit-box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, 0.57);
box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, 0.57);
}
/* TOPCOAT REWRITES...
JavaScript
$(function () {
var slideMenuButton = document.getElementById('slide-menu-button');
slideMenuButton.onclick = function (e) {
var cl = document.body.classList;
if (cl.contains('left-nav')) {
cl.remove('left-nav');
} else {
cl.add('left-nav');
}
};
});