1. Verwenden Sie CSS, jQuery und Canvas, um Animationen zu erstellen 1. Leinwand Vorteile: gute Leistung, leistungsstark, unterstützt die meisten Browser (außer IE6, IE7, IE8), die gezeichneten Grafiken können direkt als .png- oder .jpg-Grafiken gespeichert werden; Nachteile: Hängt von HTML ab, Grafiken können nur über Skripte gezeichnet werden, keine API zum Implementieren von Animationen (basiert auf Ereignissen und Timer-Updates); da der programmgesteuert auf der Leinwand angezeigte Text tatsächlich eine Bitmap ist, wird der Suchcrawler den Text vollständig ignorieren. Der Textinhalt ist zudem für Screenreader nicht lesbar. 2.css3 Vorteile: einfach und vom Inhalt getrennt, CSS-Animation löst kein Layout und keine Farbe aus; (Änderung dieser Eigenschaften löst kein Layout und keine Farbe aus: Rückseitensichtbarkeit, Opazität, Perspektive, Perspektivenursprung, Transformieren); Nachteile: Es gibt Browserkompatibilitätsprobleme, Android-Telefone können einfrieren, es ist durch die Satz-Engine eingeschränkt und es hängt eng mit der DOM-Struktur der gesamten Seite zusammen. 3. JQuery Vorteile: Keine Kompatibilitätsprobleme Nachteile: Jeder Rahmen muss neu bemalt und neu zusammengesetzt werden (sehr zeitaufwändig); Zusammenfassung: In Bezug auf mobile Animationseffekte ist die Verwendung von CSS3-Animationen viel effizienter als die Verwendung von jQuery-Animationen. Dies gilt insbesondere für Android-Telefone! Daher werden mobile Animationen gegenüber CSS3-Animationen priorisiert und jQuery kann nur zur einfachen Verarbeitung der Anwendungslogik verwendet werden. CSS3-Animation ist eine universelle Lösung, um dem Inhaltslayout Spezialeffekte hinzuzufügen. Allerdings kann sie durch die Layoutleistung in mobilen Browsern mit schlechter Leistung eingeschränkt sein und den gewünschten Effekt nicht erzielen. In bestimmten Szenarien, die eine hohe Leistung erfordern, wie etwa Spielen, lässt sich die Leistung durch die Verwendung von Canvas erheblich verbessern. 2. CSS3 hat ein Einfrierproblem auf Mobilgeräten Die mit CSS3 erstellte Animation läuft auf iOS zu 66 %, auf Android kommt es jedoch manchmal zu Verzögerungen. Möglicherweise möchten Sie anhand der folgenden Punkte nach dem Problem suchen. a. Ob es Layout verursacht b. Ob die Hardwarebeschleunigung aktiviert werden soll c. Gibt es teure Attribute (CSS-Schatten, Farbverläufe, Hintergrundanhang: fest usw.)? d. Wenn der Neuanstrichbereich vorhanden ist, müssen Sie den Animationsbereich verkleinern. In diesem Schritt ist eine Optimierung nur begrenzt möglich. e. Versuchen Sie, zum Generieren von Animationen Transform zu verwenden, und vermeiden Sie die Verwendung von Höhe, Breite, Rand, Polsterung usw.; siehe Beispiele 1 und 2 unten. PS: Mit Transform muss der Browser das Bitmap dieses Elements nur einmal generieren und es beim Start der Animation zur Verarbeitung an die GPU übermitteln. Danach muss der Browser keine Layout-, Zeichen- oder Bitmap-Übermittlungsvorgänge mehr durchführen. Somit kann der Browser die GPU voll ausnutzen, um das Bitmap schnell an verschiedenen Positionen zu zeichnen und Drehungen oder Skalierungen durchzuführen. Kurz gesagt, die Transformationsanimation wird von der GPU gesteuert, unterstützt Hardwarebeschleunigung und erfordert kein Software-Rendering. 3. Während der Animation kommt es zu Flimmern (meist zu Beginn der Animation) Lösung: .Würfel { -webkit-backface-visibility: versteckt; -moz-backface-visibility: versteckt; -ms-backface-visibility: versteckt; Rückseitensichtbarkeit: versteckt; -WebKit-Perspektive: 1000; -moz-Perspektive: 1000; -ms-Perspektive: 1000; Perspektive: 1000; /* Andere Transform-Eigenschaften hier */ } In WebKit-basierten Browsern ist eine weitere effektive Methode .Würfel { -webkit-transform: übersetzen3d(0, 0, 0); -moz-transform: übersetzen3d(0, 0, 0); -ms-transform: übersetzen3d(0, 0, 0); transformieren: übersetzen3d(0, 0, 0); /* Andere Transform-Eigenschaften hier */ } 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. |
<<: Tipps zur Verwendung von Bildlaufleisten in HTML
>>: Eine kurze Erläuterung verschiedener Situationen, in denen MySQL Boolesche Typen zurückgibt
1: Was ist OpenSSL? Welche Funktion hat es? Was i...
Inhaltsverzeichnis Vorwort 1. Lebenszyklus in Vue...
1. ref wird kopiert, die Ansicht wird aktualisier...
Zusammenfassung Projektbeschreibungsformat < i...
1. Lösung 1.1 Beschreibung des Schnittstellenkont...
Docker-Compose-Bereitstellungskonfiguration Jenki...
Wir wissen, dass wir beim Verwenden von HTML im N...
Vor Kurzem wurde ein System bereitgestellt, das n...
Der folgende Inhalt stellt den Prozess und die Lö...
<br />Ich habe festgestellt, dass viele Leut...
Nginx verwendet eine feste Anzahl von Multiprozes...
Fragen Sie zuerst die MySQL-Quelle ab Docker-Such...
Shopify Plus ist die Enterprise-Version der von u...
Die verständlichste Erklärung des Genauigkeitspro...
Angenommen, wir haben n Elemente und müssen diese...