JSFiddle - React, Tailwind, and code Playground
HTML
Inline element:
<div class="toggle">
<div class="toggle__ball"></div>
</div>
SCSS
.toggle {
display: inline-block;
vertical-align: middle;
width: 320px;
height: 160px;
position: relative;
box-sizing: border-box;
box-shadow: 0 0 0 1px #000;
}
.toggle__ball {
width: 50px;
height: 100%;
box-shadow: 0 0 0 1px red;
position: absolute;
box-sizing: border-box;
animation: movement 2s linear infinite alternate;
}
.toggle:hover .toggle__ball {
width: 160px;
}
@keyframes movement {
0% {
left: 0%;
transform: translateX(0%);
}
100% {
left: 100%;
transform: translateX(-100%);
}
}