sass-burger
Version:
A Sass mixin for creating hamburger icons.
53 lines (48 loc) • 1.7 kB
CSS
.menu-button {
display: inline-block;
padding: .5em;
background-color: #fafafa;
border: 1px solid #ccc; }
.burger-icon {
position: relative;
margin-top: 8px;
margin-bottom: 8px;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none; }
.burger-icon, .burger-icon::before, .burger-icon::after {
display: block;
width: 25px;
height: 3px;
background-color: #444;
outline: 1px solid transparent;
-webkit-transition-property: background-color, -webkit-transform;
-moz-transition-property: background-color, -moz-transform;
-o-transition-property: background-color, -o-transform;
transition-property: background-color, transform;
-webkit-transition-duration: 0.3s;
-moz-transition-duration: 0.3s;
-o-transition-duration: 0.3s;
transition-duration: 0.3s; }
.burger-icon::before, .burger-icon::after {
position: absolute;
content: ""; }
.burger-icon::before {
top: -8px; }
.burger-icon::after {
top: 8px; }
.menu-button.is-active .burger-icon {
background-color: transparent; }
.menu-button.is-active .burger-icon::before {
-webkit-transform: translateY(8px) rotate(45deg);
-moz-transform: translateY(8px) rotate(45deg);
-ms-transform: translateY(8px) rotate(45deg);
-o-transform: translateY(8px) rotate(45deg);
transform: translateY(8px) rotate(45deg); }
.menu-button.is-active .burger-icon::after {
-webkit-transform: translateY(-8px) rotate(-45deg);
-moz-transform: translateY(-8px) rotate(-45deg);
-ms-transform: translateY(-8px) rotate(-45deg);
-o-transform: translateY(-8px) rotate(-45deg);
transform: translateY(-8px) rotate(-45deg); }