diff --git a/snippets/hamburger-button.md b/snippets/hamburger-button.md index ef31aa091..71b886baf 100644 --- a/snippets/hamburger-button.md +++ b/snippets/hamburger-button.md @@ -3,62 +3,59 @@ title: Hamburger Button tags: interactivity,beginner --- -This is a way to build simple hamburger button for menu bar. +Displays a hamburger menu which transitions to a cross on hover. ```html - +
``` ```css -.hb, -.hb:before, -.hb:after { - position: relative; - width: 30px; - height: 5px; - border: none; - outline: none; - background-color: #333; - border-radius: 3px; - transition: 0.5s; +.hamburger-menu { + display: flex; + flex-direction: column; + flex-wrap: wrap; + justify-content: space-between; + height: 2.5rem; + width: 2.5rem; cursor: pointer; } -.hb:before, -.hb:after { - content: ''; - position: absolute; - top: -7.5px; - left: 0; +.hamburger-menu .bar { + height: 5px; + background: black; + border-radius: 5px; + margin: 3px 0px; + transform-origin: left; + transition: all 0.5s; } -.hb:after { - top: 7.5px; -} - -.hb:hover { - background-color: transparent; -} - -.hb:hover:before, -.hb:hover:after { - top: 0; -} - -.hb:hover::before { +.hamburger-menu:hover .top { transform: rotate(45deg); } -.hb:hover::after { +.hamburger-menu:hover .middle { + opacity: 0; +} + +.hamburger-menu:hover .bottom { transform: rotate(-45deg); } ``` #### Explanation -- Use a `