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