@keyframes menuFadeIn { from { width: 96px; } to { width: 512px; } } body { padding: 0; margin: 0; overflow: hidden; } #level { border-spacing: 0; border-collapse: collapse; } #mainbar { display: flex; position: fixed; top: 0; left: 0; right: 0; height: 32px; background-color: #cccccc; box-shadow: 0 0 20px black; } .menu-group { position: relative; display: inline-block; cursor: pointer; padding: 5px 20px; overflow: visible; font-family: sans-serif; } .menu-group:hover { background-color: #5555cc; } .menu-dropdown { display: none; position: absolute; top: 16px; left: 0; background-color: #cccccc; list-style: none; box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.5); padding-left: 0; } .menu-dropdown > li { padding: 5px 20px; width: 180px; } .menu-dropdown > li:hover { background-color: #5555cc; } .menu-group:hover > .menu-dropdown { display: block; } #menu { position: fixed; display: flex; flex-flow: wrap row; top: 32px; left: 0; bottom: 0; padding-top: 20px; width: 96px; overflow: hidden; background-color: #cccccc; box-shadow: 0 0 20px black; } #menu:hover { animation-name: menuFadeIn; animation-duration: 0.5s; width: 512px; } #map { position: fixed; top: 32px; left: 96px; right: 0; bottom: 0; overflow: scroll; background-color: black; } .field, .button-tile { border: 0; padding: 0; margin: 0; background-repeat: no-repeat; cursor: pointer; display: inline-flex; } .selection { width: 100%; height: 100%; opacity: 0; background-color: red; } .field:hover .selection { opacity: 0.5; }