<div class="image middle">
  <img src="https://res.cloudinary.com/drcrre4xg/image/upload/v1571848483/img_gfo5ks.jpg" alt="">
  <div class="image-content">
    <h1>Image Title</h1>
    <div class="icons">
      <a href="#" class="icon fas fa-heart"></a>
      <a href="#" class="icon fas fa-comment"></a>
      <a href="#" class="icon fas fa-share"></a>
    </div>
  </div>
</div>
*{
  margin: 0;
  padding: 0;
  font-family: "montserrat";
}
body{
  background: #ddd;
}
.middle{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

.image{
  width: 440px;
  height: 300px;
  overflow: hidden;
  cursor: pointer;
}

.image-content{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 40px;
  box-sizing: border-box;
}
.image-content h1{
  color: #fff;
  text-transform: uppercase;
  transform: translateY(20px);
  transition: 0.4s;
}
.image:hover .image-content h1{
    transform: translateY(0px);
}
.icons{
  position: absolute;
  right: 40px;
  bottom: 40px;
}
.icon{
  text-decoration: none;
  color: #333;
  font-size: 22px;
  margin: 0 10px;
  transform: translateY(80px);
}
.image:hover .icon{
  transform: translateY(0px);
}
.icon:nth-child(1){
  transition: transform 0.4s 0.05s,color 0.4s;
}
.icon:nth-child(2){
  transition: transform 0.4s 0.1s,color 0.4s;
}
.icon:nth-child(3){
  transition: transform 0.4s 0.15s,color 0.4s;
}
.icon:hover{
  color: #3498db;
}
.image-content::before{
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  background: rgba(255,255,255,0.7);
  width: 100%;
  height: 0px;
  clip-path: polygon(0 100%,100% 0,100% 100%);
  transition: 0.5s;
}
.image-content:hover::before{
  height: 140px;
}
/*
* https://www.darkcode.info/2019/01/awesome-hover-effect-on-image-using.html
*/
Run Pen

External CSS

  1. https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.11.2/css/all.min.css

External JavaScript

This Pen doesn't use any external JavaScript resources.