CSS Variables Hamburgers are Easy-to-use hamburger menu animations with CSS variables
Click the hamburger icons to toggle the animation.
This is an open-source project inspired by Hamburgers by Jonathan Suh, but with the customization feature of using CSS variables instead of Sass. With this project, you can easily create stylish hamburger menu animations for your web projects using pure CSS.
The motivation behind this project is to provide a simpler and more flexible alternative to using Sass for customizing hamburger menu animations. By utilizing CSS variables, developers can easily tweak colors, sizes, and other properties directly in their CSS files without the need for Sass preprocessing.
css-variables-hamburgers.min.css
.<link rel="stylesheet" href="css-variables-hamburgers.min.css">
or
<link href="https://cdn.jsdelivr.net/npm/@tomoyakuroda/css-variables-hamburgers@1/css-variables-hamburgers.min.css" rel="stylesheet">
<button class="hamburger" type="button">
<span class="hamburger-box">
<span class="hamburger-inner"></span>
</span>
</button>
<button class="hamburger hamburger--collapse" type="button">
<span class="hamburger-box">
<span class="hamburger-inner"></span>
</span>
</button>
:root {
--hamburger-padding-x : 15px;
--hamburger-padding-y : 15px;
--hamburger-layer-width : 40px;
--hamburger-layer-height : 4px;
--hamburger-layer-spacing : 6px;
--hamburger-layer-color : #000;
--hamburger-layer-border-radius : 4px;
--hamburger-hover-opacity : 0.7;
--hamburger-active-layer-color : var(--hamburger-layer-color);
--hamburger-active-hover-opacity: var(--hamburger-hover-opacity);
}
<script>
// Look for .hamburger
var hamburger = document.querySelector(".hamburger");
// On click
hamburger.addEventListener("click", function() {
// Toggle class "is-active"
hamburger.classList.toggle("is-active");
// Do something else, like open/close menu
});
</script>
Contributions are welcome! If you have any ideas for improvements or new features, feel free to open an issue or submit a pull request.
This project is licensed under the MIT License.
Many thanks to Jonathan Suh for providing the inspiration and the open-source project.