JSFiddle - React, Tailwind, and code Playground
HTML
<div class="container">
<div class="color-1">
<a class="link link--dumet" href="#" data-letters="DUMET School">DUMET School</a>
</div>
</div>
CSS
* {margin: 0; padding: 0;}
body {
font-family: arial;
}
.container {
background-color: #1F1F20;
padding: 100px 0;
}
.color-1 {
width: 475px;
margin: auto;
}
/* General link styles */
.link {
outline: none;
text-decoration: none;
position: relative;
font-size: 58px;
line-height: 1;
color: #9e9ba4;
display: inline-block;
}
/* Style Efek Hover */
.link--dumet {
text-transform: uppercase;
font-weight: 900;
overflow: hidden;
line-height: 2.75;
color: #FFF;
}
.link--dumet:hover {
color: #FFF;
}
.link--dumet::after {
content: '';
position: absolute;
height: 5px;
width: 100%;
top: 50%;
margin-top: -5px;
right: 0;
background: #F9F9F9;
-webkit-transform: translate3d(-100%,0,0);
transform: translate3d(-100%,0,0);
-webkit-transition: -webkit-transform 0.4s;
transition: transform 0.4s;
-webkit-transition-timing-function: cubic-bezier(0.7,0,0.3,1);
transition-timing-function: cubic-bezier(0.7,0,0.3,1);
}
.link--dumet:hover::after {
-webkit-transform: translate3d(100%,0,0);
transform: translate3d(100%,0,0);
}
.link--dumet::before {
content: attr(data-letters);
position: absolute;
z-index: 2;
overflow: hidden;
color: #2B4C7E;
white-space: nowrap;
width: 0%;
-webkit-transition: width 0.4s 0.3s;
transition: width 0.4s 0.3s;
}
.link--dumet:hover::before {
width: 100%;
}