<figure class="snip1206">
  <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/331810/sample74.jpg" alt="sample74"/>
  <figcaption>
    <h2>Jason Response</h2>
    <p>Just makes people try to do everything at once.</p>
  </figcaption>
  <a href="#"></a>
</figure>
<figure class="snip1206 hover">
  <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/331810/sample69.jpg" alt="sample69"/>
  <figcaption>
    <h2>Fleece Marigold</h2>
    <p>We'd invent machines that do things less efficiently.</p>
  </figcaption>
  <a href="#"></a>
</figure>
<figure class="snip1206">
  <img src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/331810/sample13.jpg" alt="sample13"/>
  <figcaption>
    <h2>Ruby Von Rails</h2>
    <p>To the machines and go play outside.</p>
  </figcaption>
  <a href="#"></a>
</figure>
@import url(https://fonts.googleapis.com/css?family=Raleway:400,500);
figure.snip1206 {
  font-family: 'Raleway', Arial, sans-serif;
  color: #fff;
  position: relative;
  overflow: hidden;
  margin: 10px;
  min-width: 220px;
  max-width: 310px;
  max-height: 220px;
  width: 100%;
  color: #000000;
  text-align: center;
}
figure.snip1206 * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
figure.snip1206 img {
  opacity: 1;
  width: 100%;
  -webkit-transition: opacity 0.35s;
  transition: opacity 0.35s;
}
figure.snip1206:after {
  background: #ffffff;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  content: '';
  opacity: 0.75;
  -webkit-transform: skew(-45deg) scaleX(0);
  transform: skew(-45deg) scaleX(0);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
figure.snip1206 figcaption {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 1;
}
figure.snip1206 h2,
figure.snip1206 p {
  margin: 0;
  width: 100%;
  opacity: 0;
}
figure.snip1206 h2 {
  padding: 0 30px;
  display: inline-block;
  font-weight: 400;
  text-transform: uppercase;
}
figure.snip1206 p {
  padding: 0 50px;
  font-size: 0.8em;
  font-weight: 500;
}
figure.snip1206 a {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  z-index: 1;
}
figure.snip1206:hover:after,
figure.snip1206.hover:after {
  -webkit-transform: skew(-45deg) scaleX(1);
  transform: skew(-45deg) scaleX(1);
  transition: all 400ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
figure.snip1206:hover figcaption h2,
figure.snip1206.hover figcaption h2,
figure.snip1206:hover figcaption p,
figure.snip1206.hover figcaption p {
  -webkit-transform: translate3d(0%, 0%, 0);
  transform: translate3d(0%, 0%, 0);
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}
figure.snip1206:hover figcaption h2,
figure.snip1206.hover figcaption h2 {
  opacity: 1;
}
figure.snip1206:hover figcaption p,
figure.snip1206.hover figcaption p {
  opacity: 0.7;
}
  /* Demo purposes only */
  $(".hover").mouseleave(
    function () {
      $(this).removeClass("hover");
    }
  );

External CSS

  1. https://www.littlesnippets.net/css/codepen-result.css

External JavaScript

This Pen doesn't use any external JavaScript resources.