JSFiddle - React, Tailwind, and code Playground

by Kocsten

HTML

<figure class="betukdsxam zesaptiklan">
	<img src="http://zornet.ru/ABVUN/shT5z-ZEQRSHab9zsOTmKg.png" alt="Создание сайтов uCoz">	
	<figcaption>ZorNet.Ru: Создание сайта <a href="http://zornet.ru">Переход</a></figcaption>
</figure>

CSS

figure.betukdsxam {
    margin: 0;
    padding: 0;
    display: inline-block;
    position: relative;
    overflow: hidden;
    border: 2px solid #a2a2a2;
    border-radius: 3px;
    width: 320px;
    height: 210px;
}

figure.betukdsxam::before, figure.betukdsxam::after {
    content: '';
    width: 100%;
    height: 100%;
    display: block;
    background: #2c2d33;
    position: absolute;
    opacity: 0.3;
    top: 0;
    -moz-transform: translate3d(0, -100%, 0);
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    -moz-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

figure.betukdsxam img{
	display: block;
}

figure.betukdsxam figcaption {
    position: absolute;
    display: block;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    background: #efe8e8;
    text-shadow: 0 1px 0 #fff9f9;
    padding: 7px;
    z-index: 100;
    width: 100%;
    max-height: 100%;
    overflow: hidden;
    top: 93%;
    left: 0;
    -moz-transform: translate3d(-100%, -50%, 0);
    -webkit-transform: translate3d(-100%, -50%, 0);
    transform: translate3d(-100%, -50%, 0);
    opacity: 0;
    -moz-transition: all 0.5s;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

figure.betukdsxam figcaption a{
	text-decoration: none;
}



figure.zesaptiklan:hover::before{
	-moz-transform: translate3d(0, 0, 0);
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

figure.zesaptiklan:hover figcaption{
	opacity: 1;
	-moz-transform: translate3d(0, -50%, 0); /* center caption */
	-webkit-transform: translate3d(0, -50%, 0);
	transform: translate3d(0, -50%, 0);
	-moz-transition: all 0.5s;
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	-moz-transition-delay: 0.5s;
	-webkit-transition-delay: 0.5s;
	transition-delay: 0.5s;
}