JSFiddle - React, Tailwind, and code Playground

HTML

<ul class="photo-grid">
	<li>
		<a href="http://amiralibk.ir/wp-content/uploads/2014/11/seo-pi.jpg">
			<figure>
				<img src="http://amiralibk.ir/wp-content/uploads/2014/11/seo-pi.jpg" height="180" width="320" alt="Arc de Triomphe">
				<figcaption><p>Arc de Triomphe</p></figcaption>
			</figure>
		</a>
	</li>
	<li>
		<a href="http://www.flickr.com/photos/aigle_dore/5237960181/">
			<figure>
				<img src="http://amiralibk.ir/wp-content/uploads/2014/11/seo-pi.jpg" height="180" width="320" alt="Eiffel Tower">
				<figcaption><p>Eiffel Tower</p></figcaption>
			</figure>
		</a>
	</li>
	<li><a href="http://www.flickr.com/photos/aigle_dore/5238557764/">
			<figure>
				<img src="images/notredame_sm.png" height="180" width="320" alt="Notre Dame">
				<figcaption><p>Notre Dame</p></figcaption>
			</figure>
		</a>
	</li>
</ul>

CSS

.photo-grid {
	margin: 1em auto;
	max-width: 1106px;
	text-align: center;
}
 
.photo-grid li {
	border: 5px solid white;
	display: inline-block;
	margin: 1em;
	width: 289px;
}
 
.photo-grid img {
	display: block;
	height: auto;
	max-width: 100%;
}
 
.photo-grid figure {
	height: 163px;
	overflow: hidden;
	position: relative;
	width: 289px;
}
 
.photo-grid figcaption {
	background: rgba(0,0,0,0.8);
	color: white;
	display: table;
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 100;
}
 
.photo-grid figcaption p {
	display: table-cell;
	font-size: 1.5em;
	position: relative;
	top: -40px;
	width: 289px;
	vertical-align: middle;
}

.photo-grid li:hover figcaption {
	opacity: 1;
}
.photo-grid img {
	display: block;
	height: auto;
	-webkit-transition: all 300ms;
	-moz-transition: all 300ms;
	transition: all 300ms;
	max-width: 100%;
}
 
.photo-grid li:hover img {
	-webkit-transform: scale(1.4);
	-moz-transform: scale(1.4);
	transform: scale(1.4);
}
.photo-grid figcaption p {
	display: table-cell;
	font-size: 1.5em;
	position: relative;
	top: -40px;
	width: 289px;
	-webkit-transition: all 300ms ease-out;
	-moz-transition: all 300ms ease-out;
	transition: all 300ms ease-out;
	vertical-align: middle;
}
 
.photo-grid li:hover figcaption p {
	-moz-transform: translateY(40px);
	-webkit-transform: translateY(40px);
	transform: translateY(40px);
}