Ich erstellte eine SVG-Lader-Animation mit SMIL-Animation. Ich zeige die Svg innerhalb eines Elements, indem Sie einfach einen Klassennamen hinzufügen, d. H. loader
.SVG-Animation nur durch Hinzufügen einer Klasse
.loader{
position: relative;
}
/* image */
.loader::before {
background-image: url('loader.svg');
/* other properties */
}
/* blocker */
.loader::after {
/* other properties */
}
Aber jetzt (klicken Sie auf den Container des Laders zu sehen), erkannte ich die SMIL is deprecated in chrome. Also entschied ich mich für Animationen mit CSS. Aber wenn ich Animationen mit CSS behandle, kann ich den Code nicht wie oben beschrieben verwalten, sondern nur durch Hinzufügen einer Klasse.
Wenn ich CSS-Animationen verwenden, muss ich ein neues Element in den Container hinzufügen und dann Inline-Svg-Konzept, IMO verwenden.
Gibt es sowieso, kann ich die Animation verwalten, indem Sie einfach eine Klasse hinzufügen, wenn Sie CSS-Animationen verwenden?
Einige Punkte:
- Ich will keine neue Elemente hinzuzufügen.
- Ich werde JavaScript nur zum Hinzufügen einer Klasse und für nichts anderes verwenden.
- Ich möchte kein gif (ein Rasterbild) erzeugen.
Ich habe Geigen für beide SMIL und CSS-Animationen:
ich nur nur begrenzt bin eine Klasse hinzufügen, um die Animation zu verwalten, weil es mein hält Code organisiert und auch ich fühle, dass es möglich ist, dies auch mit CSS-Animationen zu tun.
Ich würde mit SMIL-Animationen nicht empfehlen, da sie veraltet sind, und sollten bald fallen gelassen werden. Die einzige "wahre" Art, SVG heute zu animieren, sind CSS-Animationen (ausstehende [Web Animations API] (https://w3c.github.io/web-animations/) – zessx
@zessix Ich sage dasselbe in meinem Beitrag. –
Whoops verpasste es! – zessx