CSS3 Side Menu
by sathish panduga p
HTML
<input type="checkbox" class="side-menu-handler" id="sideMenuHandler">
<div class="main">
<label class="list-btn menu-button" id="menuButton" for="sideMenuHandler">>></label>
<div class="result"></div>
</div>
<label class='side-menu-overlay' for="sideMenuHandler"></label>
<div class='side-menu'>
<label class='side-menu-separator'>MENU</label>
<label class='side-menu-item'>Item 1</label>
<label class='side-menu-item'>Item 2</label>
<label class='side-menu-item' for="sideMenuHandler">Item 3</label>
</div>
<div class='side-menu'>
<label class='side-menu-separator'>MENU2</label>
<label class='side-menu-item'>Item 11</label>
<label class='side-menu-item'>Item 12</label>
<label class='side-menu-item' for="sideMenuHandler">Item 3</label>
</div>
CSS
.body{
overflow:hidden;
}
.main {
transition: -moz-transform .25s ease-in-out;
-moz-transition: -moz-transform .25s ease-in-out;
-webkit-transition: -webkit-transform .25s ease-in-out;
margin-top:200px;
overflow:hidden;
}
.side-menu-handler {
display: none;
overflow:hidden;
}
.side-menu-overlay {
position: fixed;
top: 0px;
left: 0px;
display: none;
height: 100%;
width: 100%;
z-index: 1;
overflow:hidden;
}
.side-menu {
position: fixed;
top: 0px;
left: -152px;
height: 100%;
width: 152px;
z-index: 2;
overflow-x: hidden;
overflow-y: auto;
background: #333;
opacity: 0.95;
transition: -moz-transform .25s ease-in-out;
-moz-transition: -moz-transform .25s ease-in-out;
-webkit-transition: -webkit-transform .25s ease-in-out;
}
.side-menu-separator {
cursor: default;
display: block;
width: 132px;
height: 12px;
padding: 10px;
margin: 0px;
color: #aeaeae;
font-size: 12px;
overflow:hidden;
}
.side-menu-item {
cursor: pointer;
display: block;
width: 132px;
height: 14px;
padding: 10px;
margin: 0px;
color: white;
font-size: 14px;
text-overflow: ellipsis;
overflow:hidden;
}
.side-menu-handler:checked ~ .main,
.side-menu-handler:checked ~ .side-menu{
display: block;
transform: translate3D(152px,0,0); /* X value must be same as Nav width */
-moz-transform: translate3D(152px,0,0); /* X value must be same as Nav width */
-webkit-transform: translate3D(152px,0,0); /* X value must be same as Nav width */
}
.side-menu-handler:checked ~ .side-menu-overlay {
display: block;
}
.side-menu-item:active {
background: black;
}
.side-menu-item:hover {
background: slategrey;
}
.menu-button {
background: lightgray;
border: 1px black;
padding: 6px;
}
.result {
margin-top: 10px;
}
JavaScript
$('.side-menu-item').on('click', function() {
$('.result text').html($(this).html());
});