JSFiddle - React, Tailwind, and code Playground

HTML

<div class="wrap">
    <img src="http://placehold.it/350x150">
    <a href="#">
        <span>Anchor</span>
    </a>
</div>
    
<div class="wrap">
    <img src="http://placehold.it/350x150">
    <a href="#">
        <span>Anchor with longer text<br>and multiple lines</span>
    </a>
</div>

CSS

* {
    box-sizing: border-box;
}

body {
    height: 100%;    
}

.wrap {
    height: auto;
    margin: 2em;
    overflow: hidden;
    padding: 1em;
    position: relative;
    width: 80%;
}

.wrap img {
    width: 100%;
}

.wrap a {
    display: table;
    height: 100%;
    left: 1em;
    padding: 1em;
    position: absolute;
    text-align: center;
    top: 1em;
    width: 100%;    
}

.wrap a span {
    border: 1px solid red;
    display: table-cell;
    vertical-align: middle;    
}

.wrap a:hover span {
    background: red;    
}