In diesem Artikel werden hauptsächlich zwei Arten dynamischer Unterstreichungseffekte beschrieben. Der erste besteht darin, dass sich beim Schweben die X-Achse von innen nach außen ausdehnt, um den Animationseffekt zu erzielen. Der zweite ist die automatische Anzeige von links nach rechts oder von rechts nach links! ! Der Haupteffekt besteht darin, Pseudoklassen-Tags, Hover und Übergänge zu verwenden, um Animationseffekte zu erzielen. Die x-Achse dehnt sich von innen nach außen aus Die Animation der horizontalen Linie wird mithilfe der Bézier-Kurve realisiert. Der spezifische Code lautet wie folgt: ul { Anzeige: Flex; Polsterung: 0; Rand: 0; Listenstiltyp: keiner; } ul:hover li:nicht(:hover) a { Deckkraft: 0,2; } ul li { Position: relativ; Polsterung: 30px 25px 30px 25px; Cursor: Zeiger; } ul li::nach { Position: absolut; Inhalt: ""; oben: 100 %; links: 0; Breite: 100 %; Höhe: 2px; Hintergrund: #3498db; transformieren: scaleX(0); Übergang: 0,4 s kubisch-bézier (0,165, 0,84, 0,44, 1); } ul li:hover::nach, ul li.active::nach { transformieren: scaleX(1); } Animationseffekt für horizontale Unterstreichung links und rechts Verwenden Sie hauptsächlich js, um die Position der Maus zu bestimmen, wenn sie sich wegbewegt, und zeigen Sie den Animationseffekt an, indem Sie sie nach links und rechts bewegen Der JS-Code lautet wie folgt: document.querySelectorAll('a').forEach(elem => { elem.onmouseenter = elem.onmouseleave = e => { konstante Toleranz = 5; Konstante links = 0; const right = elem.clientWidth; lass x = e.pageX - elem.offsetLeft; wenn (x - Toleranz < links) x = links; wenn (x + Toleranz > rechts) x = rechts; elem.style.setProperty('--x', `${x}px`); }; }); CSS verwendet Pseudoklassen-Tags, um Animationseffekte zu implementieren A { Position: relativ; Schriftstärke: 600; Textdekoration: keine; Farbe: rgba(0, 0, 0, 0,4); Übergang: Farbe 0,3 s Leichtigkeit; } a::nach { --Skala: 0; Inhalt: ''; Position: absolut; links: 0; rechts: 0; oben: 100 %; Höhe: 3px; Hintergrund: #4c81c9; -webkit-transform: MaßstabX(var(--scale)); transformieren: scaleX(var(--scale)); -webkit-transform-origin: var(--x) 50 %; Transform-Ursprung: var(--x) 50 %; Übergang: -webkit-transform 0,3 s cubic-bezier(0,535, 0,05, 0,355, 1); Übergang: Transformation 0,3 s kubisch-bézier (0,535, 0,05, 0,355, 1); Übergang: Transformiere 0,3 s kubisches Bézier(0,535, 0,05, 0,355, 1), -webkit-Transformiere 0,3 s kubisches Bézier(0,535, 0,05, 0,355, 1); } ein:schweben { Farbe: #4c81c9; } ein:hover::nach { --Skala: 1; } Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. |
<<: Navicat-Verbindung MySQL Fehlerbeschreibungsanalyse
>>: Analyse der Vor- und Nachteile von festen, fließenden und flexiblen Webseiten-Layouts
Wenn ein Unternehmensentwickler eine Insert-Anwei...
eins. Warum einen privaten Nexus-Server erstellen...
Inhaltsverzeichnis Lastenausgleich Klassifizierun...
Vorwort Die in diesem Artikel implementierte Anfo...
Tutorial-Reihe MySQL-Reihe: Grundlegende Konzepte...
Erstens gibt es nur ein Änderungsereignis. change...
Manchmal sehen Sie in der if-Anweisung in JavaScr...
Inhaltsverzeichnis Gängige Array-Methoden Pop() u...
In diesem Artikelbeispiel wird der spezifische Co...
Inhaltsverzeichnis 1. Warteschlangen verstehen 2....
Schritt 1: Stow installieren In diesem Beispiel v...
Durch das Umschreiben der URL lässt sich die bevo...
Vorwort Wenn in einem relativ komplexen großen Sy...
1. Befehlseinführung Mit dem Befehl seq (Sequence...
In diesem Artikelbeispiel wird der spezifische Co...