sclass HHamburgerMenu { S css() { ret [[ .hamburger-menu { cursor: pointer; position: absolute; right: 10px; top: 10px; } .hamburger-menu .bar1, .hamburger-menu .bar2, .hamburger-menu .bar3 { width: 35px; height: 5px; background-color: #333; margin: 6px 0; transition: 0.4s; } .hamburger-menu-open .bar1 { -webkit-transform: rotate(-45deg) translate(-9px, 6px); transform: rotate(-45deg) translate(-9px, 6px); } .hamburger-menu-open .bar2 {opacity: 0;} .hamburger-menu-open .bar3 { -webkit-transform: rotate(45deg) translate(-8px, -8px); transform: rotate(45deg) translate(-8px, -8px); } ]]; } S html() { ret hcss(css()) + htmlOnly(); } S htmlOnly() { ret div( emptydiv(class := "bar1") + emptydiv(class := "bar2") + emptydiv(class := "bar3"), class := "hamburger-menu", onclick := [[this.classList.toggle("hamburger-menu-open");]]); } }