JSFiddle - React, Tailwind, and code Playground
by dumptyd
HTML
<div class="container">
<div class="option">
<div class="selected"></div>
<div class="text">Lorem ipsum.</div>
</div>
<div class="option">
<div class="selected"></div>
<div class="text">Lorem ipsum.</div>
</div>
<div class="option">
<div class="selected"></div>
<div class="text">Lorem ipsum.</div>
</div>
<div class="option">
<div class="selected"></div>
<div class="text">Lorem ipsum.</div>
</div>
</div>
CSS
body {
padding: 0;
margin: 0;
}
.container {
height: 100vh;
wifth: 100vw;
background-color: #f9f9f9;
padding: 100px;
}
.option {
border: 1px solid #ccc;
border-radius: 5px;
padding: 15px;
font-family: 'Helvetica';
cursor: pointer;
position: relative;
background: transparent;
margin: 10px;
}
.text {
position: relative;
z-index: 3;
}
.selected {
position: absolute;
height: 100%;
width: 0;
top: 0;
left: 0;
z-index: 1;
background: linear-gradient(to right, pink , #a56bce);
transition: width .3s ease-in-out;
}
.option:hover > .selected, .option:hover > .text {
width: 100%;
color: #fff;
font-weight: bold;
}