JSFiddle - React, Tailwind, and code Playground
HTML
<div class="container">
<div class="inner">
<img src="http://lorempixel.com/400/200/">
</div>
</div>
<div class="container">
<div class="inner">
<img src="http://lorempixel.com/400/800/">
</div>
</div>
CSS
.container {
position: relative;
display: block;
height: 300px;
width: 300px;
background-color: #000;
border: 2px solid red;
}
.inner {
position: absolute;
top: 50%;
left: 50%;
transform: translate3d(-50%, -50%, 0);
}
.inner::before {
content: "";
display: none;
position: absolute;
top: 0px;
left: 0px;
height: 100%;
width: 100%;
background-color: #FFF;
opacity: 0.8;
}
.container:hover .inner::before{
display: block;
}
.container img {
max-width: 300px;
max-height: 300px;
display: block;
}