Hover Arrow
Arrow fading in, with stem opening from right to left
by hlmurray91
HTML
<a class="underlined-button-new" href="#">
Learn more about our process
<div class="arrow-wrap">
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="170.5 0 327.8 600" enable-background="new 170.5 0 327.8 600" xml:space="preserve">
<g>
<polygon fill="none" points="165,-100.4 165,210.7 170.6,210.7 170.6,-0.4 498.3,299.6 498.3,-100.4 "/>
<polygon fill="none" points="170.6,360.7 165,360.7 165,677.4 498.3,677.4 498.3,299.6 170.6,599.6 "/>
<polyline points="170.6,599.6 498.3,299.6 170.6,-0.4 170.5,386.5 "/>
<path d="M165,360.7"/>
</g>
</svg>
<span class="rectangle"></span>
</div>
</a>
CSS
.underlined-button-new {
width: 29px;
position: relative;
height: 30px;
text-decoration: none;
color: black;
}
.underlined-button-new::after {
content: '';
position: absolute;
left: 0;
bottom: -5px;
width: calc(100% - 50px);
height: 1px;
background-color: black;
transition: width 0.3s ease 0.3s;
}
.underlined-button-new:hover::after {
width: 100%;
transition: width 0.3s ease 0s;
}
.arrow-wrap {
position: relative;
display: inline-block;
width: 50px;
height: 20px;
}
svg {
opacity: 0;
position: absolute;
right: 5px;
width: 5px;
top: 9.5px;
transition: opacity 0.3s ease 0.3s, right 0.3s ease 0.3s;
}
.underlined-button-new:hover svg {
right: 0;
opacity: 1;
transition: all 0.3s ease 0.3s;
}
.rectangle {
height: 2px;
background-color: black;
position: absolute;
top: 13px;
right: 5px;
width: 0;
transition: width 0.3s ease 0s;
}
.underlined-button-new:hover .rectangle {
width: 29px;
transition: width 0.3s ease 0.6s;
}