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