Annak ellenére, hogy az SVG CSS-sel történő animálása kényelmesebb lehet az átlagos kezelőfelület számára, az SVG-nek van egy másik módja az animáció beépítésére közvetlenül az SVG szintaxisába. Pontosan ezzel foglalkozunk röviden ebben a videóban, de ha egy teljes útmutatót szeretne, mindenképpen nézze meg Sara Soueidan A Guide to SVG Animations (SMIL) című cikkét itt, a CSS-Tricks oldalon.
A SMIL rövidítése a szinkronizált multimédia integrációs nyelv. Ahogy megértem, ez önmagában egy „dolog”, ami történetesen beépül az SVG-be. De az SVG-nek vannak saját SMIL-szerű kiegészítései. Csak az egészet SMIL-nek fogom nevezni, bár biztos vagyok benne, hogy néha technikailag hibás vagyok.
Nagyon egyszerű animációk esetén nem sok mindegy, hogy SMIL-ben vagy CSS-ben csinálod-e, ugyanazt a dolgot fogja megtenni ugyanolyan nehézségi fokon. Néhány dolog még könnyebb lehet a CSS-ben. De itt van néhány dolog, ahol a SMIL az út:
- Animálnia kell valamit, amelyhez a CSS nem fér hozzá. Mint egy sokszög vagy út alakja.
- A használni kívánt események befolyásolják az animáció, mint egy
click
vagymouseover
, vagy valami. - Additív animációkat szeretne megtenni, például animálni bárhonnan, ahol most újabb x pixel van.
- Olyan animációkat szeretne, amelyek közvetlenül kapcsolódnak más animációkhoz, például amikor az animáció befejeződik, indítsa el ezt a következő animációt (az időtartam manuális manipulálása nélkül).
- Biztos vagyok benne, hogy vannak még.
A szintaxis eleinte félelmetesnek érzi magát, de ígérem, nagyon egyszerű. Itt egy alapvető példa:
Lásd Chris Coyier (@chriscoyier) Pen jAipI-t a CodePen-en.
A "forma morfondírozás" nagyon szuper egyedülálló a SMIL-nél, ezért itt van egy jobb példa, mint a furcsa, amelyet a videóban tettünk:
Lásd Chris Coyier (@chriscoyier) Pen Shape Morph gombját a CodePen-en.
Ebben a bemutatóban az eseményeket a SMIL helyett a JavaScript kezeli. Csak jó tudni, hogy te is meg tudod csinálni. A SMIL eseményindítók jóak, de akkor a kattintásra szoruló dolognak abban az SVG-ben kell lennie, nem pedig bárhol máshol a DOM-ban.