<div class="link"> <a href="#"> <div class="text">LINK</div> <div class="line"></div> </a> </div>
.link a { color: rgba(77,77,77,1); display: block; font-size: 14px; letter-spacing: .15em; overflow: hidden; padding: 0 0 8px; position: relative; width: fit-content; } .link a .line { background-color: rgba(77,77,77,.2); bottom: 0; height: 1px; left: 0; position: absolute; width: 100%; } .link a .line:before { -webkit-transition: -webkit-transform 0.6s cubic-bezier(0.45, 0.25, 0.15, 1); transition: -webkit-transform 0.6s cubic-bezier(0.45, 0.25, 0.15, 1); -o-transition: transform 0.6s cubic-bezier(0.45, 0.25, 0.15, 1); transition: transform 0.6s cubic-bezier(0.45, 0.25, 0.15, 1); transition: transform 0.6s cubic-bezier(0.45, 0.25, 0.15, 1), -webkit-transform 0.6s cubic-bezier(0.45, 0.25, 0.15, 1); -webkit-transform-origin: 100% 50%; -ms-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-transform: scale(0, 1); -ms-transform: scale(0, 1); transform: scale(0, 1); content: ''; display: block; height: 100%; width: 100%; top: 0; left: 0; background-color: rgba(77,77,77,1); -webkit-transform: scale(0,1); -ms-transform: scale(0,1); transform: scale(0,1); } .link a:hover .line:before { -webkit-transform-origin: 0% 50%; -ms-transform-origin: 0% 50%; transform-origin: 0% 50%; -webkit-transform: scale(1, 1); -ms-transform: scale(1, 1); transform: scale(1, 1); }