Im folgenden werden Links (Ankerelemente) mit einem animierten Unterstrich versehen.
Hier noch eine andere Variante, gleicher Effekt andere Vorgehensweise. Animation Underline 2
Siehe dazu auch den Tipp Selektoren ::after
Siehe auch den Tipp Transition
Siehe Quelltext.
Das a Element wird zum inline-Block Element, damit man ihm eine Breite zuweisen kann und auch alle kommenden Eigenschaften funktionieren. Desweiteren wird der Unterstrich entfernt.
Dem a Element wird mit ::after ein leerer String mit einer Höhe von 2px und einer schwarzen Hintergrundfarbe angehängt. Außerdem bekommt es display block, damit es unter dem a liegt. Transition sorgt für eine Animation bei einer Eigenschaftsänderung.
Beim hover wird dieses Anhängsel auf eine Breite von 100% vergrößert und durch transition animiert.
a { display: inline-block; font-size: 1.5rem; color: #663DA0; text-decoration: none; } a::after { content: ""; display: block; width: 0; height: 2px; background-color: black; transition: all 1s; } a:hover::after { width: 100%; }