JSFiddle - React, Tailwind, and code Playground
by Jonny
HTML
<div class="grid">
<figure class="effect-park">
<img src="http://lorempixel.com/180/180" alt="img13"/>
<figcaption>
<p>This is placeholder text. Lorem Ipsum.</p>
</figcaption>
</figure>
</div>
CSS
*, *:after, *:before { -webkit-box-sizing: border-box; box-sizing: border-box; }
.clearfix:before, .clearfix:after { display: table; content: ''; }
.clearfix:after { clear: both; }
body {
color: #fff;
font-size: 1em;
font-family: 'Open Sans', sans-serif;
}
/* ------------ */
.grid figure {
position: relative;
float: left;
overflow: hidden;
text-align: center;
cursor: pointer;
}
.grid figure img {
position: relative;
display: block;
min-height: 100%;
max-width: 100%;
opacity: 1;
}
.grid figure figcaption {
padding: 1em;
color: #fff;
font-size: 1.25em;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
.grid figure figcaption::before,
.grid figure figcaption::after {
pointer-events: none;
}
.grid figure figcaption {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.grid figure p {
margin: 0;
}
.grid figure p {
letter-spacing: 1px;
font-size: 68.5%;
-webkit-filter: blur(0) !important;
filter: blur(0) !important;
}
/*---------------*/
figure.effect-park {
background-color: #0D4C16;
border-radius: 50%;
}
figure.effect-park img {
opacity: 0.5;
-webkit-filter: blur(1.5px);
filter: blur(1.5px);
-webkit-transform: scale(1.15);
transform: scale(1.15);
-webkit-transition: opacity 0.2s, -webkit-transform 0.2s;
transition: opacity 0.2s, transform 0.2s;
}
figure.effect-park:hover img {
opacity: 1;
-webkit-filter: blur(0);
filter: blur(0);
-webkit-transform: scale(1);
transform: scale(1);
}
figure.effect-park p {
opacity: 1;
padding: 13px;
-webkit-transition: opacity 0.2s, -webkit-transform 0.2s;
transition: opacity 0.2s, transform 0.2s;
-webkit-transform: translate3d(0,20px,0) scale(1.1);
transform: translate3d(0,20px,0) scale(1.1);
}
figure.effect-park:hover p {
-webkit-transform: translate3d(0,0,0) scale(1);
transform: translate3d(0,0,0) scale(1);
opacity: 0;
}