JSFiddle - React, Tailwind, and code Playground

by apoucoz

HTML

<div class="view effect">
    <img src="http://pcvector.net/uploads/demo/scripts/image_effects/css3_hover_effects/images/1.jpg" />
    <div class="mask"></div>
    <div class="content">	<a href="#" class="info" title="Полное изображение">Полное изображение</a>

    </div>
</div>
<div class="view effect">
    <img src="http://pcvector.net/uploads/demo/scripts/image_effects/css3_hover_effects/images/2.jpg" />
    <div class="mask"></div>
    <div class="content">	<a href="#" class="info">Читать далее</a>

    </div>
</div>
<div class="view effect">
    <img src="http://pcvector.net/uploads/demo/scripts/image_effects/css3_hover_effects/images/3.jpg" />
    <div class="mask"></div>
    <div class="content">	<a href="#" class="info">Читать далее</a>

    </div>
</div>
<div class="view effect">
    <img src="http://pcvector.net/uploads/demo/scripts/image_effects/css3_hover_effects/images/4.jpg" />
    <div class="mask"></div>
    <div class="content">	<a href="#" class="info">Читать далее</a>

    </div>
</div>

CSS

/* CSS3 STYLE GENERIC */
 .view {
    width: 300px;
    height: 200px;
    margin: 10px;
    float: left;
    border: 5px solid #fff;
    overflow: hidden;
    position: relative;
    text-align: center;
    box-shadow: 0px 0px 5px #aaa;
    cursor: default;
}
.view .mask, .view .content {
    width: 300px;
    height: 200px;
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
}
.view img {
    display: block;
    position: relative;
}
.view a.info {
    background:url(http://pcvector.net/uploads/demo/scripts/image_effects/css3_hover_effects/img/link.png) center no-repeat;
    display: inline-block;
    text-decoration: none;
    padding:0;
    text-indent:-9999px;
    width:20px;
    height:20px;
}
/* CSS3 EFFECTS */

/* FIFTH EFFECTS */
 .effect img {
    opacity:1;
    -moz-transform:scale(1, 1);
    -webkit-transform:scale(1, 1);
    -o-transform:scale(1, 1);
    -ms-transform:scale(1, 1);
    transform:scale(1, 1);
    -webkit-transition: all 0.2s ease-in;
    -moz-transition: all 0.2s ease-in;
    -o-transition: all 0.2s ease-in;
    -ms-transition: all 0.2s ease-in;
    transition: all 0.2s ease-in;
}
.effect .mask {
    opacity:0;
    overflow:visible;
    border-color:rgba(0, 0, 0, 0.7) transparent transparent transparent;
    border-style:solid;
    border-width:150px;
    width:0;
    height:0;
    -moz-transform:translateY(-125px);
    -webkit-transform:translateY(-125px);
    -o-transform:translateY(-125px);
    -ms-transform:translateY(-125px);
    transform:translateY(-125px);
    -moz-transition: -moz-transform 0.2s 0.1s ease-out, opacity 0.3s ease-in-out;
    -webkit-transition: -webkit-transform 0.2s 0.1s ease-out, opacity 0.3s ease-in-out;
    -o-transition: -o-transform 0.2s 0.1s ease-out, opacity 0.3s ease-in-out;
    -ms-transition: -ms-transform 0.2s 0.1s ease-out, opacity 0.3s ease-in-out;
    transition: transform 0.2s 0.1s ease-out, opacity 0.3s ease-in-out;
}
.effect a.info {
    opacity:0;
   ...