JSFiddle - React, Tailwind, and code Playground
HTML
<div class="apartment">
<h2>Lorem ipsum...</h2>
<a href="#" class="button">Read More</a>
</div>
CSS
.apartment {
position: relative;
width: 300px;
height: 300px;
float: left;
}
.apartment::before {
content: '';
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: url(https://placekitten.com/300/300);
background-position: 0 90%;
background-size: cover;
opacity: 1;
transition: opacity 0.5s ease-in-out;
}
.apartment h2 {
position: absolute;
text-align: center;
width: auto;
top: 28%;
left: 25%;
visibility: hidden;
}
.apartment .button {
position: absolute;
top: 65%;
left: 37%;
visibility: hidden;
}
.apartment:hover::before {
opacity: 0.4;
}
.apartment:hover h2,
.apartment:hover .button {
visibility: visible;
}