JSFiddle - React, Tailwind, and code Playground
HTML
<div class="image">
<div class="trans">
<a href="#">About</a>
</div>
</div>
CSS
.trans a {
color: #FFF;
font-size: 30px;
font-family: arial;
font-weight 700;
line-height:100px;
height:100px;
display: block;
position: absolute;
right:24px;
}
.trans {
position: relative;
top:20px;
background-color:blue;
width:80px;
height:100px;
border-top-right-radius:50px;
border-bottom-right-radius:50px;
opacity: .75;
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
filter: alpha(opacity=75);
-webkit-transition: width .5s ease, color .5s ease, background .5s ease;
-moz-transition: width .5s ease, color .5s ease, background .5s ease;
-o-transition: width .5s ease, color .5s ease, background .5s ease;
transition: width .5s ease, color .5s ease, background .5s ease;
}
.trans:hover {
width:120px;
-webkit-transition: width .5s ease, color .5s ease, background .5s ease;
-moz-transition: width .5s ease, color .5s ease, background .5s ease;
-o-transition: width .5s ease, color .5s ease, background .5s ease;
transition: width .5s ease, color .5s ease, background .5s ease;
}
.image {
background:url(http://dummy-images.com/abstract/dummy-556x900-Circus.jpg) -100px -100px no-repeat;
height: 200px;
}