JSFiddle - React, Tailwind, and code Playground

HTML

<div class="item">
    <div class="inner">
    <div class="image">
        <img alt="" src="http://lorempixel.com/260/230/">
    </div>
    <div class="inside clearfix">
        <h2>Das ist nur ein Test</h2>
    </div>
    </div>
</div>

CSS

.item {
    margin:5px;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
    -webkit-border-radius: 15px 0px 15px 0px;
    border-radius: 15px 0px 15px 0px;
    float:left;
  }

  .inner {
    -webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%);
    position:relative;
    overflow:hidden;
    background-color:#fff;
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.5);
    -webkit-border-radius: 15px 0px 15px 0px;
    border-radius: 15px 0px 15px 0px;
  }

  .item img {
    -webkit-transform: scaleY(1);
    -moz-transform: scaleY(1);
    -o-transform: scaleY(1);
    -ms-transform: scaleY(1);
    transform: scaleY(1);
    -webkit-transition: all 0.7s ease-in-out;
    -moz-transition: all 0.7s ease-in-out;
    -o-transition: all 0.7s ease-in-out;
    -ms-transition: all 0.7s ease-in-out;
    transition: all 0.7s ease-in-out;
    display:block;
  }

  .item:hover img {
    -webkit-transform: scale(2);
    -moz-transform: scale(2);
    -o-transform: scale(2);
    -ms-transform: scale(2);
    transform: scale(2);
    -ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";
    filter: alpha(opacity=0);
    opacity: 0;
  }

  .item h2 {
    font-size:16px;
  }

  .item .inside {
    position:absolute;
    background-color:rgba(0, 0, 0, 0.4);
    -webkit-border-radius: 15px 0px 15px 0px;
    border-radius: 15px 0px 15px 0px;
    height:100%;
    width:100%;
    top:0;
    left:0;
    overflow:hidden;
    padding:20px;
    opacity:0;
    -moz-box-sizing:border-box; 
    -webkit-box-sizing:border-box;
    box-sizing: border-box;
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -ms-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease;
  }

  .item .image {
    overflow:hidden;
    -webkit-border-radius: 15px 0px 15px 0px;
    border-radius: 15px 0px 15px 0px;
  }

  .item:hover .inside {
    opacity:1;
  }