JSFiddle - React, Tailwind, and code Playground

HTML

<div class="recuadro">
  <a href="pinguinos">
    <div class="imagen_recuadro">
            <img alt="MADRE_PINGUINO_Y_CRIA (54K)" src="http://upload.wikimedia.org/wikipedia/commons/thumb/0/0a/MADRE_PINGUINO_Y_CRIA.jpg/433px-MADRE_PINGUINO_Y_CRIA.jpg" height="240" width="173" />
    </div>
    <div class="detalles_recuadro">
      <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</p>
    </div>
  </a>
</div>

CSS

.recuadro {
  position: relative;
  width: 193px;
  height: 260px;
    overflow: hidden;
  border: 1px solid #ccc;
}

.recuadro a {
  text-decoration: none;
  color: #000;
    display: block;
    width: 386px;
    
  -webkit-transition-property: margin-left,margin-top;
  -webkit-transition-duration: .9s;
  -moz-transition-property: margin-left,margin-top;
  -moz-transition-duration: .9s;
  -o-transition-property: margin-left,margin-top;
  -o-transition-duration: .9s;
  -ms-transition-property: margin-left,margin-top;
  -ms-transition-duration: .9s;    
}

.imagen_recuadro, .detalles_recuadro {
  padding: 10px;
  height: 240px;
  width: 173px;
   }

.imagen_recuadro {
  margin-top: 0;
  background: #000000;
}

.detalles_recuadro {
  background: #EEEEEE;
  color: #666666;
  font-family: Arial;
  font-size: 12px;
  float: right; }

.recuadro a:hover {
    margin-left: -193px; /* = width .imagen_recuadro + su padding*2 (laterales) */
    margin-top: -260px; /* altura más padding */
}