diff --git a/snippets/hamburger-button.md b/snippets/hamburger-button.md
new file mode 100644
index 000000000..b5ce02ff8
--- /dev/null
+++ b/snippets/hamburger-button.md
@@ -0,0 +1,64 @@
+---
+title: Hamburguer Button
+tags: interactivity,beginner
+---
+
+This is a way to build simple hamburger button for menu bar.
+
+```html
+
+
+
+
+
+```
+
+```css
+.hb-container {
+ width: 30px;
+ height: 30px;
+ position: relative;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ cursor: pointer;
+}
+
+.hb-container span {
+ width: 30px;
+ height: 5px;
+ border-radius: 3px;
+ margin: 2px 0;
+ background-color: #333;
+ transition: 0.5s;
+}
+
+.hb-container:hover span {
+ margin: 0;
+}
+.hb-container:hover :nth-child(2) {
+ opacity: 0;
+}
+.hb-container:hover :first-child {
+ position: absolute;
+ transform: rotate(-45deg);
+}
+.hb-container:hover :last-child {
+ position: absolute;
+ transform: rotate(45deg);
+}
+```
+
+#### Explanation
+
+- You need of two ou three `:span` to stack.
+- Keep them in rows using `:display-flex`.
+- Use `:hover` for rotate first `:span` for `-45deg` and last `45deg`.
+- If you use three `:span`, use `:opacity` for hide the middle child of container.
+- Bonus: You can use JavaScript to manipulate CSS and keep `:X`.
+
+#### Browser support
+
+- https://caniuse.com/#search=transform
+- https://caniuse.com/#search=display%20flex
\ No newline at end of file