You can do this with straight up css. Based on this article here: http://dbushell.github.io/Responsive-Off-Canvas-Menu/step2.html
With a bit of modification you can achieve this: http://jsfiddle.net/SrTH4/1/
<!-- I am collapsed by default -->
<nav id="main-navigation" class="navigation">
<a href="#">Nav Links</a>
<a href="#">Nav Links</a>
<a href="#">Nav Links</a>
<br><br>
<a href="#">Close</a>
<!-- more -->
</nav>
<!-- I am full width by default -->
<div class="page-wrap">
<header>
<a href="#main-navigation">Menu</a>
<h1>Title</h1>
<p>Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.</p>
<p>Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.</p>
<p>Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.</p>
</header>
<!-- content -->
</div>
css:
.navigation {
background: #ccc;
width: 60px;
overflow: hidden;
position: fixed;
top: 200px;
left: -60px;
height: auto;
-webkit-transition: left 1s ease;
transition: left 1s ease;
z-index: 2;
}
.page-wrap {
width: 100%;
float: right;
}
.page-wrap a {
background: black;
color: white;
padding: 5px;
position: fixed;
top: 210px;
left: -10px;
text-decoration: none;
z-index: 1;
-webkit-transform:rotate(90deg);
transform:rotate(90deg);
}
#main-navigation:target {
left: 0;
}