A Pen by Antonija Šimić on CodePen.
Forked from anonymous/Responsive sidebar revealed on click and key press.markdown
Created
May 19, 2016 02:15
-
-
Save CodeMyUI/69a7d8ff6a6a1e9a004d909aebe26164 to your computer and use it in GitHub Desktop.
Responsive sidebar revealed on click and key press
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<div class="nav-right visible-xs"> | |
<div class="button" id="btn"> | |
<div class="bar top"></div> | |
<div class="bar middle"></div> | |
<div class="bar bottom"></div> | |
</div> | |
</div> | |
<!-- nav-right --> | |
<main> | |
<nav> | |
<div class="nav-right hidden-xs"> | |
<div class="button" id="btn"> | |
<div class="bar top"></div> | |
<div class="bar middle"></div> | |
<div class="bar bottom"></div> | |
</div> | |
</div> | |
<!-- nav-right --> | |
</nav> | |
<a href="http://codepen.io/tonkec/" class="ua" target="_blank"> | |
<i class="fa fa-user"></i> | |
</a> | |
</main> | |
<div class="sidebar"> | |
<ul class="sidebar-list"> | |
<li class="sidebar-item"><a href="#" class="sidebar-anchor">Item 1</a></li> | |
<li class="sidebar-item"><a href="#" class="sidebar-anchor">Item 2</a></li> | |
<li class="sidebar-item"><a href="#" class="sidebar-anchor">Item 3</a></li> | |
<li class="sidebar-item"><a href="#" class="sidebar-anchor">Item 4</a></li> | |
</ul> | |
</div> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$(document).ready(function() { | |
function toggleSidebar() { | |
$(".button").toggleClass("active"); | |
$("main").toggleClass("move-to-left"); | |
$(".sidebar-item").toggleClass("active"); | |
} | |
$(".button").on("click tap", function() { | |
toggleSidebar(); | |
}); | |
$(document).keyup(function(e) { | |
if (e.keyCode === 27) { | |
toggleSidebar(); | |
} | |
}); | |
}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@import url(https://fonts.googleapis.com/css?family=Arimo:400,400italic,700,700italic); | |
body, | |
html { | |
height: 100%; | |
padding: 0; | |
margin: 0; | |
font-family: 'Arimo', sans-serif; | |
} | |
main { | |
z-index: 2; | |
position: relative; | |
height: 100%; | |
background-color: #2D3142; | |
-webkit-transition: transform .7s ease-in-out; | |
-moz-transition: transform .7s ease-in-out; | |
-ms-transition: transform .7s ease-in-out; | |
-o-transition: transform .7s ease-in-out; | |
transition: transform .7s ease-in-out; | |
} | |
.sidebar { | |
height: 100%; | |
width: 400px; | |
position: fixed; | |
top: 0; | |
z-index: 1; | |
right: 0; | |
background-color: #EF8354; | |
} | |
.bar { | |
display: block; | |
height: 5px; | |
width: 50px; | |
background-color: #EF8354; | |
margin: 10px auto; | |
} | |
.button { | |
cursor: pointer; | |
display: inline-block; | |
width: auto; | |
margin: 0 auto; | |
-webkit-transition: all .7s ease; | |
-moz-transition: all .7s ease; | |
-ms-transition: all .7s ease; | |
-o-transition: all .7s ease; | |
transition: all .7s ease; | |
} | |
.nav-right { | |
position: fixed; | |
right: 40px; | |
top: 20px; | |
} | |
.nav-right.visible-xs { | |
z-index: 3; | |
} | |
.hidden-xs { | |
display: none; | |
} | |
.middle { | |
margin: 0 auto; | |
} | |
.bar { | |
-webkit-transition: all .7s ease; | |
-moz-transition: all .7s ease; | |
-ms-transition: all .7s ease; | |
-o-transition: all .7s ease; | |
transition: all .7s ease; | |
} | |
.nav-right.visible-xs .active .bar { | |
background-color: #FFF; | |
-webkit-transition: all .7s ease; | |
-moz-transition: all .7s ease; | |
-ms-transition: all .7s ease; | |
-o-transition: all .7s ease; | |
transition: all .7s ease; | |
} | |
.button.active .top { | |
-webkit-transform: translateY(15px) rotateZ(45deg); | |
-moz-transform: translateY(15px) rotateZ(45deg); | |
-ms-transform: translateY(15px) rotateZ(45deg); | |
-o-transform: translateY(15px) rotateZ(45deg); | |
transform: translateY(15px) rotateZ(45deg); | |
} | |
.button.active .bottom { | |
-webkit-transform: translateY(-15px) rotateZ(-45deg); | |
-moz-transform: translateY(-15px) rotateZ(-45deg); | |
-ms-transform: translateY(-15px) rotateZ(-45deg); | |
-o-transform: translateY(-15px) rotateZ(-45deg); | |
transform: translateY(-15px) rotateZ(-45deg); | |
} | |
.button.active .middle { | |
width: 0; | |
} | |
.move-to-left { | |
-webkit-transform: translateX(-400px); | |
-moz-transform: translateX(-400px); | |
-ms-transform: translateX(-400px); | |
-o-transform: translateX(-400px); | |
transform: translateX(-400px); | |
} | |
nav { | |
padding-top: 30px; | |
} | |
.sidebar-list { | |
padding: 0; | |
margin: 0; | |
list-style: none; | |
position: relative; | |
margin-top: 150px; | |
text-align: center; | |
} | |
.sidebar-item { | |
margin: 30px 0; | |
opacity: 0; | |
-webkit-transform: translateY(-20px); | |
-moz-transform: translateY(-20px); | |
-ms-transform: translateY(-20px); | |
-o-transform: translateY(-20px); | |
transform: translateY(-20px); | |
} | |
.sidebar-item:first-child { | |
-webkit-transition: all .7s .2s ease-in-out; | |
-moz-transition: all .7s .2s ease-in-out; | |
-ms-transition: all .7s .2s ease-in-out; | |
-o-transition: all .7s .2s ease-in-out; | |
transition: all .7s .2s ease-in-out; | |
} | |
.sidebar-item:nth-child(2) { | |
-webkit-transition: all .7s .4s ease-in-out; | |
-moz-transition: all .7s .4s ease-in-out; | |
-ms-transition: all .7s .4s ease-in-out; | |
-o-transition: all .7s .4s ease-in-out; | |
transition: all .7s .4s ease-in-out; | |
} | |
.sidebar-item:nth-child(3) { | |
-webkit-transition: all .7s .6s ease-in-out; | |
-moz-transition: all .7s .6s ease-in-out; | |
-ms-transition: all .7s .6s ease-in-out; | |
-o-transition: all .7s .6s ease-in-out; | |
transition: all .7s .6s ease-in-out; | |
} | |
.sidebar-item:last-child { | |
-webkit-transition: all .7s .8s ease-in-out; | |
-moz-transition: all .7s .8s ease-in-out; | |
-ms-transition: all .7s .8s ease-in-out; | |
-o-transition: all .7s .8s ease-in-out; | |
transition: all .7s .6s ease-in-out; | |
} | |
.sidebar-item.active { | |
opacity: 1; | |
-webkit-transform: translateY(0px); | |
-moz-transform: translateY(0px); | |
-ms-transform: translateY(0px); | |
-o-transform: translateY(0px); | |
transform: translateY(0px); | |
} | |
.sidebar-anchor { | |
color: #FFF; | |
text-decoration: none; | |
font-size: 1.8em; | |
text-transform: uppercase; | |
position: relative; | |
padding-bottom: 7px; | |
} | |
.sidebar-anchor:before { | |
content: ""; | |
width: 0; | |
height: 2px; | |
position: absolute; | |
bottom: 0; | |
left: 0; | |
background-color: #FFF; | |
-webkit-transition: all .7s ease-in-out; | |
-moz-transition: all .7s ease-in-out; | |
-ms-transition: all .7s ease-in-out; | |
-o-transition: all .7s ease-in-out; | |
transition: all .7s ease-in-out; | |
} | |
.sidebar-anchor:hover:before { | |
width: 100%; | |
} | |
.ua { | |
position: absolute; | |
bottom: 20px; | |
left: 60px; | |
} | |
.fa { | |
font-size: 1.4em; | |
color: #EF8354; | |
-webkit-transition: all 1s ease; | |
-moz-transition: all 1s ease; | |
-ms-transition: all 1s ease; | |
-o-transition: all 1s ease; | |
transition: all 1s ease; | |
} | |
.ua:hover .fa { | |
color: #FFF; | |
-webkit-transform: scale(1.3); | |
-moz-transform: scale(1.3); | |
-ms-transform: scale(1.3); | |
-o-transform: scale(1.3); | |
transform: scale(1.3); | |
-webkit-transition: all 1s ease; | |
-moz-transition: all 1s ease; | |
-ms-transition: all 1s ease; | |
-o-transition: all 1s ease; | |
transition: all 1s ease; | |
} | |
@media (min-width: 480px) { | |
.nav-list { | |
display: block; | |
} | |
} | |
@media (min-width: 768px) { | |
.nav-right { | |
position: absolute; | |
} | |
.hidden-xs { | |
display: block; | |
} | |
.visible-xs { | |
display: none; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Bonjour, alors voilà j'essaye de reproduire ce menu mais lorsque j'exécute ce code rien ne fonctionne malheureusement ....
un peu d'aide svp, dite moi si chez vous ça marche
merci d'avance