JSFiddle - React, Tailwind, and code Playground

HTML

<div class="container">
  <img src="http://media.mydogspace.com.s3.amazonaws.com/wp-content/uploads/2013/08/puppy-500x350.jpg">
  <div class="innercontainer">
    <p>
    This is some text
    </p>
  </div>
</div>

CSS

.container {
  position: relative;
  width: 20em;
  height: 20em;
  overflow: hidden;
  border: 1px solid red;
}
.innercontainer {
  display: none;
}
.innercontainer {
    display: block;
    width: 100%;
    height: 100px;
    background-color: rgba(25,25,25,1);
    -webkit-transition: height 2s, background-color 2s, -webkit-transform 2s;
    transition: height 2s, background-color 2s, transform 2s;
}
.container:hover .innercontainer {
  position: absolute;
  top: 5em;
  left: 0;
  right: 0;
  bottom: 0;
    background-color: rgba(0,0,0,0.7);
    width: 100%;
    height: 100%;
    transform: translateY(0);
    color: #fff;
}
p {
  padding: 0.5em 1em;
}