cssAudio - Activefile-genericCSS - ActiveGeneric - ActiveHTML - ActiveImage - ActiveJS - ActiveSVG - ActiveText - Activefile-genericVideo - ActiveLovehtmlicon-new-collectionicon-personicon-teamlog-outoctocatpop-outspinnerstartv

Pen Settings

CSS Base

Vendor Prefixing

Add External CSS

These stylesheets will be added in this order and before the code you write in the CSS editor. You can also add another Pen here, and it will pull the CSS from it. Try typing "font" or "ribbon" below.

Quick-add: + add another resource

Add External JavaScript

These scripts will run in this order and before the code in the JavaScript editor. You can also link to another Pen here, and it will run the JavaScript from it. Also try typing the name of any popular library.

Quick-add: + add another resource

Code Indentation

     

Save Automatically?

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

            
              <figure>
  <img src="https://unsplash.it/230/315?image=564" />
  <figcaption>
    <h2>Pelican Steve</h2>
    <p>My family is dysfunctional and my parents won't empower me. Consequently I'm not self actualized.</p>
    <div class="icons">
      <a href="#"><i class="ion-chatbubbles"></i></a>
      <a href="#"><i class="ion-person-add"></i></a>
      <a href="#"><i class="ion-heart"></i></a>
    </div>
    <div class="mask mask01"></div>
    <div class="mask mask02"></div>
    <div class="mask mask03"></div>
  </figcaption>
</figure>
<figure>
  <img src="https://unsplash.it/230/315?image=1019" />
  <figcaption>
    <h2>Niles Peppertrout</h2>
    <p>Given that sooner or later we're all just going to die, what's the point of learning about integers?</p>
    <div class="icons">
      <a href="#"><i class="ion-chatbubbles"></i></a>
      <a href="#"><i class="ion-person-add"></i></a>
      <a href="#"><i class="ion-heart"></i></a>
    </div>
    <div class="mask mask01"></div>
    <div class="mask mask02"></div>
    <div class="mask mask03"></div>
  </figcaption>
</figure>
<figure>
  <img src="https://unsplash.it/230/315?image=959" />
  <figcaption>
    <h2>Ingredia Nutrisha</h2>
    <p>That's the problem with nature, something's always stinging you or oozing mucous all over you.</p>
    <div class="icons">
      <a href="#"><i class="ion-chatbubbles"></i></a>
      <a href="#"><i class="ion-person-add"></i></a>
      <a href="#"><i class="ion-heart"></i></a>
    </div>
    <div class="mask mask01"></div>
    <div class="mask mask02"></div>
    <div class="mask mask03"></div>
  </figcaption>
</figure>
            
          
!
            
              @import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,500,900);
@import url(https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css);
body {
  background: #212121;
}
figure {
  font-family: 'Source Sans Pro', Arial, sans-serif;
  position: relative;
  float: left;
  overflow: hidden;
  margin: 10px 1%;
  min-width: 230px;
  max-width: 315px;
  max-height: 230px;
  width: 100%;
  color: #ffffff;
  text-align: center;
  font-size: 16px;
}
figure * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .35s ease;
  transition: all .35s ease;
}
figure img {
  opacity: 1;
  width: 100%;
}
figure:after,
figure:before,
figure figcaption:after,
figure figcaption:before,
figure .mask:after,
figure .mask:before {
  background: #0a0a0a;
  width: 10%;
  position: absolute;
  content: '';
  opacity: 0;
  -webkit-transition: all .3s steps(10);
  transition: all .3s steps(10);
  z-index: -1;
  top: 100%;
  bottom: 0;
}
figure:before {
  left: 0;
  z-index: 1;
  -webkit-transition-delay: 0;
  transition-delay: 0;
}
figure:after {
  left: 10%;
  z-index: 1;
  -webkit-transition-delay: .05s;
  transition-delay: .05s;
}
figure figcaption:before {
  left: 20%;
  -webkit-transition-delay: .1s;
  transition-delay: .1s;
}
figure figcaption:after {
  left: 30%;
  -webkit-transition-delay: .15s;
  transition-delay: .15s;
}
figure .mask01:before {
  left: 40%;
  -webkit-transition-delay: .2s;
  transition-delay: .2s;
}
figure .mask01:after {
  left: 50%;
  -webkit-transition-delay: .25s;
  transition-delay: .25s;
}
figure .mask02:before {
  left: 60%;
  -webkit-transition-delay: .3s;
  transition-delay: .3s;
}
figure .mask02:after {
  left: 70%;
  -webkit-transition-delay: .35s;
  transition-delay: .35s;
}
figure .mask03:before {
  left: 80%;
  -webkit-transition-delay: .4s;
  transition-delay: .4s;
}
figure .mask03:after {
  left: 90%;
  -webkit-transition-delay: .45s;
  transition-delay: .45s;
}
figure figcaption {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  padding: 30px;
}
figure h2,
figure p,
figure .icons {
  margin: 0;
  width: 100%;
  opacity: 0;
}
figure h2 {
  font-weight: 900;
  text-transform: uppercase;
}
figure p {
  font-weight: 300;
}
figure .icons {
  position: absolute;
  bottom: 30px;
  left: 0;
  width: 100%;
}
figure i {
  padding: 0px 10px;
  display: inline-block;
  font-size: 24px;
  color: #ffffff;
  text-align: center;
  opacity: .8;
}
figure i:hover {
  opacity: 1;
}
figure:hover:after,
figure:hover:before,
figure:hover figcaption:after,
figure:hover figcaption:before,
figure:hover .mask:before,
figure:hover .mask:after {
  top: 0;
  opacity: .8;
}
figure:hover figcaption h2,
figure:hover figcaption p,
figure:hover figcaption .icons {
  opacity: 1;
  -webkit-transition-delay: .8s;
  transition-delay: .8s;
}
            
          
!
            
              // Forked from #1446 - Image Hover
// https://codepen.io/littlesnippets/pen/RaoweK
            
          
!
999px
Loading ..................

Console