JSFiddle - React, Tailwind, and code Playground

by lustre

HTML

<div class="box">
    <div class="gradient"></div>
    <img src="http://www.webtutorialplus.com/Images/css-effects-image/1.jpg" alt="Web Tutorial Plus - Demo" />
    <div class="title">Title</div>
    <div class="overbox">
        <div class="tagline overtext">Tagline</div>
    </div>
</div>

CSS

.box {
    cursor: pointer;
    height: 300px;
    position: relative;
    overflow: hidden;
    width: 400px;
    z-index:400;
}
.gradient {
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(128, 128, 128, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
    /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0)), color-stop(50%, rgba(128, 128, 128, 0)), color-stop(100%, rgba(0, 0, 0, 0.5)));
    /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(128, 128, 128, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
    /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(128, 128, 128, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
    /* Opera 11.10+ */
    background: -ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(128, 128, 128, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
    /* IE10+ */
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(128, 128, 128, 0) 50%, rgba(0, 0, 0, 0.5) 100%);
    /* W3C */
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#80000000', GradientType=0);
    /* IE6-9 */
    z-index:401;
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
}
.box img {
    position: absolute;
    left: 0;
    -webkit-transition: all 300ms ease-out;
    -moz-transition: all 300ms ease-out;
    -o-transition: all 300ms ease-out;
    -ms-transition: all 300ms ease-out;
    transition: all 300ms ease-out;
    z-index:400;
}
.box .title {
    position:absolute;
    bottom:0;
    text-transform:uppercase;
    z-index:402;
    color:#fff;
    
}
.box .overbox {
    background-color: #304562;
    margin: 10px;
    padding: 20px;
    width: 335px;
    height: 239px;
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    z-index: 403;
    -webkit-transition: all 300ms ease-out;
    -moz-transition: all 300ms ease-out;
   ...