Es gibt ziemlich viele CSS-Animationsbibliotheken. Sie sind in der Regel ein Haufen von Klassennamen, die Sie nach Bedarf anwenden können, wie z. B. "bounce" oder "slide-right", und sie... tun diese Dinge. Sie sind in der Regel ziemlich meinungsbildend mit schönen Standardeinstellungen und nicht besonders auf Anpassung ausgelegt.
AnimXYZ scheint hochgradig anpassbar zu sein und nennt sich selbst "das erste komponierbare CSS-Animations-Toolkit".
Sie verwenden so viele der verschiedenen komponierbaren Teile, wie Sie für die gewünschte Ein-/Aus-Animation benötigen. Spielen Sie mit ihrem Builder herum und Sie werden Ausgaben wie diese sehen
<div
class="square-group"
xyz="tall-2 duration-6 ease-out-back stagger-1 skew-left-2 big-25% fade-50% right-5"
>
<div class="square xyz-out"></div>
<div class="square xyz-out"></div>
<div class="square xyz-out"></div>
</div>
Der Klassenname xyz-out wird zu xyz-in, um die entgegengesetzte Animation auszulösen.
Ich mag es nicht, wenn Bibliotheken erfundene HTML-Attribute verwenden, um sich selbst zu steuern. Es ist unwahrscheinlich, dass Webstandards in Zukunft xyz verwenden werden, aber wer weiß, und wenn dies auf genügend Produktionssites geschieht, ist diese Tür für immer geschlossen. Aber schlimmer noch, es ermutigt andere Bibliotheken, dasselbe zu tun.
Alle diese Attributwerte erinnern an Tailwind. Um Tailwind effektiv zu nutzen, führt der Build-Prozess PurgeCSS aus, um alle ungenutzten Klassen zu entfernen, die nur einen winzigen Bruchteil der vollständigen Menge von Tailwind-Klassen ausmachen. Ich denke daran, weil das verarbeitete Stylesheet von AnimXYZ ~9,7 kB komprimiert ist, was größer ist als die Dateigröße, die Tailwind als Beispiel auf ihrer Marketingseite verwendet. Der Punkt ist, wenn Klassen verwendet würden, gäbe es wahrscheinlich einen direkteren Weg, die ungenutzten Klassen zu entfernen, was die Größe wahrscheinlich fast vernachlässigbar machen würde. Vielleicht ist die spezifische Verwendung von JavaScript-Frameworks cleverer.
Aber abgesehen von diesen Kritikpunkten ist es cool! Nicht nur gibt es clevere Standardeinstellungen, die hochgradig komponierbar sind, sondern Sie haben auch 100% Kontrolle über CSS Custom Properties.
Verpassen Sie nicht den XYZ-ray-Button unten rechts auf der Website, mit dem Sie sehen können, welche Animationen welche Elemente antreiben. Das gibt es auch in der Dokumentation, die super nett ist.
Es gibt einfach etwas Schönes an deklarativen Animationen. Ich erinnere mich, wie ich mit Matt Perry über Framer Motion gesprochen und seinen Ansatz genossen habe.
Wow! Mein Bruder und ich haben AnimXYZ erstellt und es ist so erstaunlich, unsere Arbeit auf CSS Tricks zu sehen, danke! Es ist unsere erste Open-Source-Bibliothek und wir freuen uns sehr darauf, sie basierend auf Feedback wie diesem weiter zu verbessern.
Eines der ersten Dinge, die wir angehen werden, ist die Dateigröße. Hoffentlich mit etwas wie PurgeCSS. Wir werden auch einen CSS-Build ohne die Hilfsprogramme bereitstellen, damit Sie die Kernlogik allein mit CSS-Variablen verwenden können.
Wir haben von einigen Leuten gehört, dass sie das Attribut lieber
data-xyzfür die HTML-Validierung hätten, und wir planen, dies in Zukunft zu ermöglichen.Vielen Dank nochmals für das Teilen von AnimXYZ mit der CSS Tricks-Community, und wir können es kaum erwarten zu hören, was die Leute davon halten und wie sie es verwenden!
Sie sollten auch Metro4 ausprobieren, es hat sehr gute Komponenten und auch einige Animationen. Es ist schneller und leichter als jQuery
Ich hatte jemanden, der mir geschrieben hat und sagte, die Demo in diesem Beitrag habe bei ihm überhaupt nicht funktioniert. Mit etwas Fehlersuche stellte sich heraus, dass es die macOS-Einstellung für "Bewegung reduzieren" war. Die Bibliothek implementiert das gut.
Einige Leute haben uns gesagt, dass die Animationen auf der Website nicht funktionieren, also haben wir in der Dokumentation eine Benachrichtigung hinzugefügt, wenn wir erkennen, dass Sie "Bewegung reduzieren" aktiviert haben.