JSFiddle - React, Tailwind, and code Playground
HTML
<div class="wrapper">
<div id="slide">
<div class="text">Hello World</div>
</div>
</div>
CSS
.text {
color: #ff0000;
font-size: 20px;
line-height: 100px;
}
.wrapper {
position: relative;
overflow: hidden;
width: 200px;
height: 200px;
border: 1px solid black;
background-image: url('https://trgallery.net/_data/i/upload/2014/07/20/20140720223626-aaf1fc18-me.jpg');
background-size: cover;
}
#slide {
position: absolute;
left: -200px;
width: 200px;
height: 100px;
top: 50px;
background: #F6F6F6;
transition: 1s;
}
.wrapper:hover #slide {
transition: 0.5s;
left: 0;
}
.wrapper:hover {
-webkit-filter: grayscale(100%);filter: grayscale(100%);
}