JSFiddle - React, Tailwind, and code Playground

by Arturo Gallegos

HTML

<div class="target">
  <a href="#!">
    <img src="http://static-wix-blog.wix.com/blog/wp-content/uploads/2015/04/07104716/seo-image-01.png" alt="demo">
    <div>
      <strong>Mi titulo</strong>
      <p>Contenido descriptivo de mi imagen o publicacion</p>
    </div>
  </a>
</div>

SCSS

.target{
  width: 300px;
  margin: 30px auto 0;
  position: relative;
  &:before, &:after{
    display: block;
    content: '';
    width: 50%;
    height: 50px;
    border-radius:100%;
    position: absolute;
    bottom: 10px;
    left: 15px;
    box-shadow:0 0 50px #000;
    transform:rotate(-10deg);
  }
  &:after{
    left: auto;
    right: 15px;
    transform:rotate(10deg);
  }
  a{
    display: block;
    position: relative;
    z-index:10;
    /*
    &:before{
      display: block;
      content: '';
      width: 0;
      height: 100%;
      background: rgba(0,0,0,0.3);
      position: absolute;
      top: 0;
      left: 0;
      transition:all 0.5s ease;
    }
    &:hover:before{
      width: 100%;
    }
    */
    &:after{
      display: block;
      content: '';
      width: 100%;
      height: 0;
      clear:both;
    }
    >div{
      position: absolute;
      bottom: 0;
      left: 0;
      background: rgba(0,0,0,0.6);
      box-sizing:border-box;
      padding: 0 10px;
      width: 100%;
      height: 0;
      transition:all 0.5s ease;
      overflow:hidden;
      font:14px/1.3 arial,verdana,tahoma;
      color: #fff;
      strong{
        display: block;
        border-bottom: 1px rgba(#fff,0.3) solid;
        text-transform:uppercase;
        font-size:18px;
        font-weight:700px;
        padding: 5px 0;
        margin-bottom: 15px;
      }
    }
    &:hover{
      >div{
        height: 100%;
        padding: 15px 10px;
      }
    }
    img{
      max-width: 100%;
      height: auto;
      float: left;
    }
  }
}