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
Hintergrund Heutzutage werden die Projekte des Un...
Inhaltsverzeichnis Warum brauchen wir Docker? Bei...
In diesem Artikel wird die Installations- und Kon...
Überwachungsmethode in Vue betrachten Beachten Na...
Inhaltsverzeichnis 1. Vorbereitung: 2. Quellcode-...
Inhaltsverzeichnis 1. Domänenübergreifender Filte...
1. Herunterladen und installieren Laden Sie die D...
Redis ist ein verteilter Cache-Dienst. Caching is...
Schauen wir uns die detaillierte Methode zum Erst...
Frage Da einige unserer Seiten Daten im Onload-Mo...
Inhaltsverzeichnis Vorwort: Schritt 1: Finden Sie...
In diesem Artikelbeispiel wird der spezifische Im...
Vorwort Teilen Sie zwei Methoden, um zu überwache...
Vorwort Bei der tatsächlichen Entwicklung werden ...
HTML-Formulare werden verwendet, um verschiedene ...