Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Reyjay/29a5c7e82561d4815353 to your computer and use it in GitHub Desktop.
Save Reyjay/29a5c7e82561d4815353 to your computer and use it in GitHub Desktop.
A Pen by Reyjay Solares.

CSS Transitoin Mobile Menu Button

This is a nifty way to animate you mobile menu button into an x when it is open.

A Pen by Reyjay Solares on CodePen.

License.

<div class="mobile-nav-toggle">
<div class="toggle-line first"></div>
<div class="toggle-line middle"></div>
<div class="toggle-line last"></div>
</div>
$('.mobile-nav-toggle').click(function(){
$(this).toggleClass('close');
});
.close {
background-color: red !important;
}
.mobile-nav-toggle {
cursor: pointer;
width: 20px;
height: 18px;
padding: 10px ;
background:#000;
}
.mobile-nav-toggle:hover {
background-color:#3c3b3b;
}
.mobile-nav-toggle .toggle-line {
background-color: #FFF;
height: 3px;
margin-bottom: 4px;
width: 100%;
}
.mobile-nav-toggle .toggle-line:last-child {
margin-bottom:0px;
}
.mobile-nav-toggle .toggle-line.first, .mobile-nav-toggle .toggle-line.last {
-webkit-transition: -webkit-transform 250ms ease;
-webkit-transition-delay: 0ms;
-moz-transition: -moz-transform 250ms ease 0ms;
-o-transition: -o-transform 250ms ease 0ms;
transition: transform 250ms ease 0ms;
}
.mobile-nav-toggle.close .toggle-line.first {
-webkit-transform: rotate(45deg) translateY(5px) translateX(5px);
-moz-transform: rotate(45deg) translateY(5px) translateX(5px);
-ms-transform: rotate(45deg) translateY(5px) translateX(5px);
-o-transform: rotate(45deg) translateY(5px) translateX(5px);
transform: rotate(45deg) translateY(5px) translateX(5px);
}
.mobile-nav-toggle .toggle-line.middle {
margin-left: auto;
margin-right: auto;
-webkit-transition: width 200ms ease;
-webkit-transition-delay: 200ms;
-moz-transition: width 200ms ease 200ms;
-o-transition: width 200ms ease 200ms;
transition: width 200ms ease 200ms;
}
.mobile-nav-toggle.close .toggle-line.middle {
width: 0;
-webkit-transition: width 200ms linear;
-webkit-transition-delay: 0ms;
-moz-transition: width 200ms linear 0ms;
-o-transition: width 200ms linear 0ms;
transition: width 200ms linear 0ms;
}
.mobile-nav-toggle.close .toggle-line.last {
-webkit-transform: rotate(-45deg) translateY(-5px) translateX(5px);
-moz-transform: rotate(-45deg) translateY(-5px) translateX(5px);
-ms-transform: rotate(-45deg) translateY(-5px) translateX(5px);
-o-transform: rotate(-45deg) translateY(-5px) translateX(5px);
transform: rotate(-45deg) translateY(-5px) translateX(5px);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment