Skip to content

Instantly share code, notes, and snippets.

@zeusdeux
Last active August 29, 2015 14:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zeusdeux/28fe72441558e2813c58 to your computer and use it in GitHub Desktop.
Save zeusdeux/28fe72441558e2813c58 to your computer and use it in GitHub Desktop.
Animation mobile nav menu button. View it on Chrome, here: http://chaicode-3lads.rhcloud.com/1iV/1
<html>
<head>
<style>
.menu-icon {
padding: 5px;
width: 30px;
height: 30px;
cursor: pointer;
text-align: center;
}
.menu-icon > span {
display: block;
margin-top: 4px;
border-top: 2px solid #666;
position: relative;
-webkit-transition: all 0.2s cubic-bezier(.15,1.43,.46,1.25);
transition: all 0.2s cubic-bezier(.15,1.43,.46,1.25);
margin: inherit auto;
}
.menu-icon:hover > span {
border-top: 2px solid #333;
}
.menu-icon.active > .ln-one {
-webkit-transform-origin: top left;
-webkit-transform: rotate(45deg);
-ms-transform-origin: top left;
-ms-transform: rotate(45deg);
transform-origin: top left;
transform: rotate(45deg);
}
.menu-icon.active > .ln-two {
border-color: transparent;
}
.menu-icon.active > .ln-three {
-webkit-transform-origin: left bottom;
-webkit-transform: rotate(-45deg) translateY(6px) translateX(-6px);
-ms-transform-origin: left bottom;
-ms-transform: rotate(-45deg) translateY(6px) translateX(-6px);
transform-origin: left bottom;
transform: rotate(-45deg) translateY(6px) translateX(-6px);
}
</style>
<script>
window.onload = function(){
document.querySelector('.menu-icon').addEventListener('click',function(){
this.classList.toggle('active'); //classList isn't supported in IE9
//for IE9 support, use jQuery's toggleClass() method
});
};
</script>
</head>
<body>
<div class="menu-icon">
<span class="ln-one"></span>
<span class="ln-two"></span>
<span class="ln-three"></span>
</div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment