JSFiddle - React, Tailwind, and code Playground
HTML
<div class="category-list">
<div class="cat-item">
<div class="cat-img">
<img src="img/category/1.png" alt="">
<a class="text-cat" href="">Появляющийся заголовок</a>
</div>
<p class="tx-cat">Исчезающий заголовок</p>
</div>
<div class="cat-item">
<div class="cat-img">
<img src="img/category/2.png" alt="">
<a class="text-cat" href="">Появляющийся заголовок</a>
</div>
<p class="tx-cat">Исчезающий заголовок</p>
</div>
<div class="cat-item">
<div class="cat-img">
<img src="img/category/3.png" alt="">
<a class="text-cat" href="">Появляющийся заголовок</a>
</div>
<p class="tx-cat">Исчезающий заголовок</p>
</div>
</div>
CSS
.cat-item {
display: inline-block;
margin-bottom: 55px;
text-align: center;
width: 180px;
}
.cat-item p {
font-size: 16px;
font-family: OpenSansSemibold;
}
.cat-img {
background: #fff;
position: relative;
display: inline-block;
width: 170px;
height: 170px;
border: 3px solid #dadada;
overflow: hidden;
border-radius: 100px;
}
.cat-img img {
padding-top: 25px;
margin-left: -25px;
}
.cat-img a {
position: absolute;
left: 0;
top: 0;
padding-top: 55px;
text-align: center;
z-index: 999;
height: 100%;
opacity: 0;
width: 100%;
background: rgba(0, 87, 162, 0.67);
color: #fff;
font-size: 16px;
font-family: OpenSansSemibold;
}
.cat-img:hover {
border: 3px solid transparent;
}
.cat-img a:hover {
opacity: 1;
color: #fff;
text-decoration: none;
}