Diese Technik stammt aus diesem Artikel - So animieren Sie Box-Shadow mit seidenweicher Leistung Dieser Artikel ist keine wörtliche Übersetzung, aber ich habe ihn geschrieben, weil ich diese Technik sehr interessant und nützlich fand. div { Breite: 100px; Höhe: 100px; Kastenschatten: 0 2px 4px rgba (0, 0, 0, 0,3); } Ich hoffe, dass sich der Schatten der Box beim Schweben von OK, der einfachste Weg ist natürlich: div:hover { Breite: 100px; Kastenschatten: 0 5px 15px rgba (0, 0, 0, 0,3); } Da die Übergangsanimation in zwei verschiedenen Boxschattenzuständen erfolgt, zeichnet der Browser den Boxschatten während der Übergangsanimation weiterhin neu. Und da Schatten leistungsintensive Stile sind, wirkt diese Art der Animation etwas verzögert. Hier ist ein kleiner Trick, um die Schattenanimation in diesem Fall zu optimieren. Optimieren mit Pseudoelementen und Transparenz Mithilfe von Pseudoelementen und Transparenz zur Optimierung fügen wir dem obigen Element ein Pseudoelement mit derselben Größe wie das übergeordnete Div hinzu und fügen diesem Element im Voraus den erforderlichen endgültigen Box-Schattenzustand hinzu, aber die Transparenz des Elements beträgt 0. div { Position: relativ; Breite: 100px; Höhe: 100px; Kastenschatten: 0 2px 4px rgba (0, 0, 0, 0,3); } div::vor { Inhalt: ""; Position: absolut; oben: 0; links: 0; Breite: 100 %; Höhe: 100%; Kastenschatten: 0 5px 15px rgba (0, 0, 0, 0,3); Deckkraft: 0; } Dann müssen wir beim Hovern nur noch die Deckkraft des Pseudoelements von 0 auf 1 setzen. div:hover::vor { Deckkraft: 1; } Der Vorteil hierbei besteht darin, dass die tatsächliche Schattenänderung lediglich eine Änderung der Transparenz ist, ohne dass der Schatten ständig neu gezeichnet werden muss. Dadurch wird die Glätte der Schattenanimation effektiv verbessert und sie sieht glatter aus. Warum ist die Animation sehr wenige CSS-Eigenschaften Abschließend können Sie sich die Demo ansehen: CodePen-Demo – Optimieren von Box-Shadow-Animationen Bestehende Probleme, eine andere Lösung Die obige Lösung im Originaltext ist eigentlich nicht perfekt, da der endgültige Effekt die Überlagerung zweier Schatten ist, wodurch die Gesamtschattenfarbe möglicherweise etwas dunkler wird. Daher ist es notwendig, den endgültigen Schatten zu optimieren, den Effekt etwas abzuschwächen und zu versuchen, den überlagerten Effekt der beiden Schatten dem eines einzelnen Schattens anzunähern. Natürlich können wir die obige Lösung noch weiter optimieren. Wir verwenden ein weiteres Beim Hovern wird eines der beiden Pseudoelemente angezeigt und das andere ausgeblendet. Auf diese Weise ist der endgültige Effekt nur ein Schatteneffekt ohne Schattenüberlagerung, was dem direkten Übergang des Schattens entspricht: CodePen-Demo – Optimieren von Box-Shadow-Animationen Zusammenfassen Oben sind die vom Editor vorgestellten CSS-Schattenanimationsoptimierungstechniken aufgeführt. Ich hoffe, dass sie für alle hilfreich sind. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! |
<<: Methoden und Techniken zum schnellen Anzeigen von Webseitenbildern
>>: Die am häufigsten verwendete HTML-Escape-Sequenz
Wenn Sie möchten, dass der Anwendungsdienst im Do...
Inhaltsverzeichnis 1. Index-Grundlagen 1.1 Einlei...
Im vorherigen Artikel wurde der Docker-Dienst ins...
Navigation, kleine Datenmenge Tabelle, zentriert &...
MySQL-Basisdatentypen Übersicht über gängige MySQ...
Ich habe kürzlich die Tutorial-Reihe zu CSS-Anima...
Wir gehen davon aus, dass Sie ein linuxer sind, a...
Hintergrund Heutzutage werden die Projekte des Un...
Code kopieren Der Code lautet wie folgt: <span...
Englisch: Ein Link-Tag vervollständigt href im IE...
Code kopieren Der Code lautet wie folgt: <!DOC...
In diesem Artikel finden Sie den spezifischen Cod...
Meta-Tag-Funktion Der META-Tag ist ein Schlüsselt...
Horizontale Linie Verwenden Sie das Tag <hr /&...
mysqldump-Befehl Einführung: Ein Datenbank-Backup...