JSFiddle - React, Tailwind, and code Playground
by Sergey khorev
HTML
<style>
.greeds {
position: relative;
margin: 0 auto;
padding: 1em 0 1em;
max-width: 1270px;
list-style: none;
text-align: center;
}
.greeds figure {
position: relative;
float: left;
overflow: hidden;
margin: 10px 1%;
min-width: 310px;
max-width: 366px;
max-height: 240px;
width: 48%;
background: #353535;
text-align: center;
cursor: pointer;
}
.greeds figure img {
position: relative;
display: block;
min-height: 100%;
max-width: 100%;
opacity: 0.7;
}
.greeds figure figcaption {
padding: 1em;
padding-top: 2.5em;
color: #fff;
text-transform: uppercase;
font-size: 1.15em;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.greeds figure figcaption::before,
.greeds figure figcaption::after {
pointer-events: none;
}
.greeds figure figcaption,
.greeds figure figcaption > a {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.greeds figure figcaption > a {
z-index: 1000;
text-indent: 200%;
white-space: nowrap;
font-size: 0;
opacity: 0;
}
.greeds figure h2 {
word-spacing: -0.15em;
font-weight: 300;
}
.greeds figure h2 span {
font-weight: 800;
}
.greeds figure h2,
.greeds figure p {
margin: 0;
}
.greeds figure p {
letter-spacing: 1px;
font-size: 68.5%;
}
figure.effect-lily img {
max-width: none;
width: -webkit-calc(100% + 50px);
width: calc(100% + 10px);
opacity: 0.6;
-webkit-transition: opacity 0.45s, -webkit-transform 0.45s;
transition: opacity 0.45s, transform 0.45s;
-webkit-transform: translate3d(-4px,0, 0);
transform: translate3d(-4px,0,0);
}
figure.effect-lily figcaption {
text-align: left;
}
figure.effect-lily figcaption > div {
position: absolute;
bottom: 0;
left: 0;
padding: 2em;
width: 100%;
height: 50%;
}
figure.effect-lily h2,
figure.effect-lily p {
-webkit-transform: translate3d(0,40px,0);
transform: translate3d(0,40px,0);
}
figure.effect-lily h2 {
-webkit-transition: -webkit-transform 0.35s;
transition: transform 0.35s;
}
figure.effect-lily p {
color:...