JSFiddle - React, Tailwind, and code Playground

by Mi_Creativity

HTML

<div id="test">
    <div id="radios">
        <input id="rad1" type="radio" name="radioBtn" checked>
        <label class="labels" for="rad1">First Option</label>
        <input id="rad2" type="radio" name="radioBtn">
        <label class="labels" for="rad2">Second Option</label>
        <input id="rad3" type="radio" name="radioBtn">
        <label class="labels" for="rad3">Third Option</label>
        <div id="bckgrnd"></div>
    </div>
</div>

CSS

body {
    background:#EEE url('//www.dailyfreepsd.com/wp-content/uploads/2013/09/underwater-blurred-background.jpg');
    background-size:cover;
}
#test{
    width:80vw;
    height:60vh;
    display:block;
    background-color:#090;
    padding:10px 0 0 10px;
}
#radios {
    position: relative;
    background-color:tomato;
    z-index:5;
    width: 363px;
}
input {
    display: none;
}
#bckgrnd, .labels {
    width: 120px;
    height: 30px;
    text-align: center;
    display: inline-block;
    padding-top: 10px;
    margin-right: -3px;
    z-index: 2;
    cursor: pointer;
    outline: 1px solid green;
}
#bckgrnd {
    background-color: orange;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
}
#rad1:checked ~ #bckgrnd {
    transform: translateX(0);
    transition: transform 0.5s ease-in-out;
}
#rad2:checked ~ #bckgrnd {
    transform: translateX(120px);
    transition: transform 0.5s ease-in-out;
}
#rad3:checked ~ #bckgrnd {
    transform: translateX(241px);
    transition: transform 0.5s ease-in-out;
}