JSFiddle - React, Tailwind, and code Playground

by Kocsten

HTML

<div class="zornet_ru_kineg">
	<img src="http://zornet.ru/Aben/ABGDA/zornet_ru/kersa/G2dD7TdMQnKP1kP2fTLEiA.png" alt="Mountains" class="vogerkas_dunomiksa">
	<div class="fokertines_psanka">
		<div class="zamitug_dervun">Поле Hover - это компонент с дополнительным скрытым текстовым слоем, который становится видимым при наведении и охватывает оригинальную коробку.</div>
	</div>
</div>

CSS

.zornet_ru_kineg,
.zornet_ru_kineg * {
	box-sizing: border-box;
}
.zornet_ru_kineg {
	position: relative;
	display: inline-block;
	overflow: hidden;
	max-width: 100%;
	height: auto;
}
.zornet_ru_kineg img {
	max-width: 100%;
}
.zornet_ru_kineg .vogerkas_dunomiksa {
	display: block;
}
.zornet_ru_kineg .fokertines_psanka {
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	color: #fff;
	padding: 15px;
	-moz-transition: all 0.4s ease-in-out 0s;
	-webkit-transition: all 0.4s ease-in-out 0s;
	-ms-transition: all 0.4s ease-in-out 0s;
	transition: all 0.4s ease-in-out 0s;
}
.zornet_ru_kineg:hover .fokertines_psanka,
.zornet_ru_kineg.active .fokertines_psanka {
	opacity: 1;
}
.zornet_ru_kineg .zamitug_dervun {
	text-align: center;
	font-size: 18px;
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	-moz-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.zornet_ru_kineg .zamitug_dervun_mobile {
	font-size: 15px;
	border-top: 1px solid rgb(179, 179, 179); /* for old browsers */
	border-top: 1px solid rgba(179, 179, 179, 0.7);
	margin-top: 5px;
	padding-top: 2px;
	display: none;
}
.zornet_ru_kineg.active .zamitug_dervun_mobile {
	display: block;
}