JSFiddle - React, Tailwind, and code Playground
by TheFCN
HTML
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/hover.css/2.0.2/css/hover-min.css">
<div class="team hvr-grow">
<div class="team-photo">
<img src="http://www.thewhitegoddess.co.uk/the_elements/the_planets/images/sun.jpg" alt="" class="scale-with-grid">
<div class="mask"></div>
<h5>Mercenary Princes of Phobos</h5>
<p>I came to Phobos at the time of the bi-annual gladiatorial games. The city was literally crawling with people from all over the Solar Ocean, even a few Plutonian mage-knights. </p>
</div>
<!-- end team photo -->
</div>
<!-- end team column -->
<div class="team hvr-grow">
<div class="team-photo">
<img src="http://www.thewhitegoddess.co.uk/the_elements/the_planets/images/sun.jpg" alt="" class="scale-with-grid">
<div class="mask"></div>
<h5>Mercenary Princes of Phobos</h5>
<p>I came to Phobos at the time of the bi-annual gladiatorial games. The city was literally crawling with people from all over the Solar Ocean, even a few Plutonian mage-knights. </p>
</div>
<!-- end team photo -->
</div>
<!-- end team column -->
<div class="team hvr-grow">
<div class="team-photo">
<img src="http://www.thewhitegoddess.co.uk/the_elements/the_planets/images/sun.jpg" alt="" class="scale-with-grid">
<div class="mask"></div>
<h5>Mercenary Princes of Phobos</h5>
<p>I came to Phobos at the time of the bi-annual gladiatorial games. The city was literally crawling with people from all over the Solar Ocean, even a few Plutonian mage-knights. </p>
</div>
<!-- end team photo -->
</div>
<!-- end team column -->
<div class="team hvr-grow">
<div class="team-photo">
<img src="http://www.thewhitegoddess.co.uk/the_elements/the_planets/images/sun.jpg" alt="" class="scale-with-grid">
<div class="mask"></div>
<h5>Mercenary Princes of Phobos</h5>
<p>I came to Phobos at the time of the bi-annual gladiatorial games. The city was literally crawling with people from all over the...
CSS
.team-photo {
position: relative;
overflow: hidden;
margin-bottom: 16px;
text-align: center;
-webkit-transition: all 300ms linear;
-moz-transition: all 300ms linear;
-o-transition: all 300ms linear;
-ms-transition: all 300ms linear;
transition: all 300ms linear;
}
.team-photo img {
max-width: 50%;
height: auto;
display: block;
-webkit-transition: all 300ms linear;
-moz-transition: all 300ms linear;
-o-transition: all 300ms linear;
-ms-transition: all 300ms linear;
transition: all 300ms linear;
}
.team-photo:hover img {
max-width: 100%;
-webkit-transform: scale(1.1);
-moz-transform: scale(1.1);
-ms-transform: scale(1.1);
-o-transform: scale(1.1);
transform: scale(1.1);
}
.team-photo .mask {
position: absolute;
background: rgba(0, 0, 0, .8);
display: block;
top: 0;
left: 0;
-webkit-transform: scale(0);
-moz-transform: scale(0);
-ms-transform: scale(0);
-o-transform: scale(0);
transform: scale(0);
-webkit-transition: all 200ms linear;
-moz-transition: all 200ms linear;
-o-transition: all 200ms linear;
-ms-transition: all 200ms linear;
transition: all 200ms linear;
}
.team-photo:hover .mask {
width: 100%;
height: 100%;
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1);
}
.team-photo h5 {
position: absolute;
top: 50px;
z-index: 100;
color: #fff;
opacity: 0;
text-align: center;
width: 100%;
-webkit-transition: all 200ms linear;
-moz-transition: all 200ms linear;
-o-transition: all 200ms linear;
-ms-transition: all 200ms linear;
transition: all 200ms linear;
}
.team-photo:hover h5 {
top: 10px;
opacity: 1;
-webkit-transition-delay: 300ms;
-moz-transition-delay: 300ms;
-o-transition-delay: 300ms;
-ms-transition-delay: 300ms;
transition-delay: 300ms;
}
.team-photo p {
position: absolute;
top: 50px;
z-index: 100;
color: #fff;
opacity: 0;
text-align:...