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%);
}