.component { position: relative; } .component:hover { background-color: #000; } .button { width: 34px; height: 34px; background: none; border: 0; color: inherit; font: inherit; line-height: normal; overflow: visible; padding: 0; cursor: pointer; } .button:focus { outline: 0; } .icon { padding: 7px; } .slider { display: none; position: absolute; right: 5px; bottom: 100%; left: 5px; height: 56px; background-color: #000; } .component:hover .slider { display: block; } .track { position: absolute; top: 8px; bottom: 8px; left: 50%; width: 4px; transform: translateX(-50%); background-color: #3e3e3e; } .fill, .input { position: absolute; right: 0; bottom: 0; left: 0; height: 100%; width: 100%; } .fill { background-color: #fff; } .input { padding: 0; margin: 0; opacity: 0; -webkit-appearance: slider-vertical; cursor: pointer; }