JSFiddle - React, Tailwind, and code Playground

by Jonny

HTML

<div class="blocks">

    <a  href="#" class="block">
        <img src="http://lorempixel.com/200/200?1" alt="">
        <div class="caption">Box 1</div>
    </a>
        
    <a href="#" class="block">
        <img src="http://lorempixel.com/200/200?2" alt="">
        <div class="caption">Box 2</div>
    </a>
        
    <a  href="#" class="block">
        <img src="http://lorempixel.com/200/200?3" alt="">
        <div class="caption">Box 3</div>
    </a>
    
</div>

CSS

.blocks {
    width: 100%;
    text-align: center;
}

.block {
    position: relative;
    display: inline-block;
}

.block img {
}

.block .caption {
    position: absolute;
    display: block;
    width: 100%;
    line-height: 200px; /* height of box */
    background: rgba(0, 0, 0, 0.40);
    box-shadow: 0 0 50px rgba(0, 0, 0, 0.70) inset;
    z-index: 100;
    top: 0;
    right: 0;
    left: 0;
    color: #FFF;
    font-size: 16px;
    font-weight: bold;
    transition: 0.25s all ease;
    opacity: 0;
}

.block .caption:hover {
    opacity: 1;
}