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