JSFiddle - React, Tailwind, and code Playground

HTML

<figure class="illustration">
    <a href="#">
        <img src="https://d3hotuclm6if1r.cloudfront.net/logos/facebook-Pixel-default.svg" alt="" />

        <dl>
            <dt>Client</dt>
                <dd>Envato</dd>
            <dt>Role</dt>
                <dd>Illustration</dd>    
        </dl>
    </a>    
</figure>    

<figure class="illustration">
    <a href="#">
        <img src="http://d3pr5r64n04s3o.cloudfront.net/articles/103_ux_session/ux-foundations.png" alt="" />

        <dl>
            <dt>Client</dt>
                <dd>Envato</dd>
            <dt>Role</dt>
                <dd>Illustration</dd>    
        </dl>
    </a>    
</figure>    



<figure class="illustration">
    <a href="#">
        <img src="http://tutsplus.s3.amazonaws.com/bestof/bestoftuts.jpg" alt="" />

        <dl>
            <dt>Client</dt>
                <dd>Envato</dd>
            <dt>Role</dt>
                <dd>Illustration</dd>    
        </dl>
    </a>    
</figure>

CSS

@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,300);
@import url(http://fonts.googleapis.com/css?family=PT+Sans+Narrow);

figure {
    float: left;
    margin: 20px;
    width: 200px;
    height: 200px;
    background: #9d2e2c;
    font-family: 'Open Sans';
    line-height: 200px;
    -webkit-filter: sepia(0.4);
    position: relative;
    padding: 0 !important;
    overflow: hidden;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.5);    
    transition: 0.6s;
    -webkit-transition: 0.6s;
    -moz-transition: 0.6s;
    -o-transition: 0.6s;
    -ms-transition: 0.6s;
}

figure a img {
    position: absolute;
    height: 120%;
    width: 120%;
    left: 50%;
    top: 50%;
    margin-top: -60%;
    margin-left: -60%;
    -webkit-transform: rotate(-10deg);
    -moz-transform: rotate(-10deg);
    -o-transform: rotate(-10deg);
    -ms-transform: rotate(-10deg);
    transform: rotate(-10deg);
}

figure dl {
    opacity: 0;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    padding: 20px;
    margin: 0;
    line-height: 2.5; 
    color: white;
    background: rgba(0, 0, 0, 0.8);
    transition: 0.6s;
    -webkit-transition: 0.6s;
    -moz-transition: 0.6s;
    -o-transition: 0.6s;
    -ms-transition: 0.6s;
}

figure:hover dl {
    opacity: 1;
}

figure dl dt {
    text-transform: uppercase;
    font-family: 'PT Sans Narrow';
    font-size: 12px;
    margin-bottom: -16px;
}

figure dl dd {
    margin-left: 0;
}