JSFiddle - React, Tailwind, and code Playground
by vals
HTML
<div class="gradient"></div>
CSS
div {
height: 100px;
width: 100px;
}
.gradient {
background: -webkit-linear-gradient(left, lightgray,white);
background: -moz-linear-gradient(left, lightgray,white);
background: -o-linear-gradient(left, lightgray,white);
background: linear-gradient(left, lightgray,white);
-webkit-transition: background 1s ease-out;
-moz-transition: background 1s ease-out;
-o-transition: background 1s ease-out;
transition: background 1s ease-out;
-moz-background-size: 200px 1px;
-o-background-size: 200px 1px;
-webkit-background-size: 200px 1px;
background-size: 200px 1px;
cursor: pointer;
}
.gradient:hover {
background-position: -100px;
}