JSFiddle - React, Tailwind, and code Playground
HTML
<div class="outer part">
<div class="part icon-part">IKON</div>
<div class="part text-part">Tekst</div>
<div class="part arrow-part" >-></div>
<div class="bottom-button-line">
</div>
</div>
CSS
.part
{
display: inline-block;
}
.outer
{
border:1px solid black;
padding-bottom: 0px;
padding-top: 5px;
width: 300px;
position: relative;
}
.icon-part
{
padding-left:15px;
}
.text-part
{
padding-left: 5px;
}
.arrow-part
{
position: absolute;
right: 10px;
top: -17px;
opacity: 0;
transition: all 0.5s ease;
}
.outer:hover .arrow-part
{
opacity: 1;
right: 10px;
top: 7px;
transition: all 0.5s ease-out;
}
.bottom-button-line
{
margin-top: 5px;
height: 5px;
background-color: blue;
width: 0px;
transition: all 0.6s ease;
}
.outer:hover .bottom-button-line
{
width: 300px;
transition: all 1s ease-out;
}