Side Nav

Basic CSS Side Nav

by Roberto Apasajja

HTML

<div id="navOpen" class="mNav">	<a href="#">Home</a>
	<a href="#">Portfolio</a>
	<a href="#">Blog</a>
	<a href="#">About</a>
	<a href="#">Contact</a>

</div>
<div class="content">
    <div class="mHeader">
        <a href="#navOpen" class="open">></a>
	    <a href="#" class="close"><</a>
        <h1>Neato CSS Slider</h1>
    </div>
</div>

CSS

* {
    box-sizing:border-box;
    -moz-box-sizing:border-box;
    -webkit-box-sizing:border-box;
}
body {
    margin:0px;
    padding:0px;
}
.content {
    width:100% transition:width 1s ease;
    -webkit-transition:width 1s ease;
    -moz-transition:width 1s ease;
    float:right;
    position:absolute;
}
.mHeader {
    display:block;
    position:fixed;
    border-bottom:2px solid #c00;
    width:100%;
    left:0%;
    height:50px;
    transition:all 1s ease;
    -webkit-transition:all 1s ease;
    -moz-transition:all 1s ease;
    background-color:#F33;
    text-align:center;
}
.mHeader a {
    position:absolute;
    text-decoration:none;
    left:12px;
    top:6px;
    color:white;
    font-weight:bold;
    font-size:32px;
}
.mHeader h1 {
    display:inline-block;
    font-size:24px;
    font-weight:bold;
    color:white;
}
.close {
    display:none;
}
.mNav {
    display:block;
    width:0px;
    overflow:hidden;
    position:fixed;
    top:0px;
    left:0px;
    height:100%;
    transition:width 1s ease;
    -webkit-transition:width 1s ease;
    -moz-transition:width 1s ease;
    background-color:#F33;
}
.mNav a {
    display:block;
    color:white;
    padding:15px;
    border-bottom:1px solid #C00;
    text-decoration:none;
    font-weight:bold;
    font-family:arial;
}
.mNav a:hover {
    background-color:#C00;
}
#navOpen:target {
    width:30%;
}
#navOpen:target + .content {
    width:70%;
}
#navOpen:target + .content .mHeader {
    width:70%;
    left:30%;
}
#navOpen:target + .content .mHeader .open {
    display:none;
}
#navOpen:target + .content .mHeader .close {
    display:block;
}