Grafică vectorială scalabilă animată cu GSAP
Publicat: 2022-12-06Presupunând că doriți un tutorial despre cum să animați Scalable Vector Graphics (SVG):
SVG este un standard folosit de dezvoltatori și designeri pentru a crea grafică vectorială bidimensională. În timp ce formatul este capabil să producă grafică bogată, fișierele tind să fie mai mici ca dimensiune decât alte formate de imagine comune, ceea ce le face ideale pentru utilizare pe web.
Când vine vorba de animarea SVG, există câteva moduri diferite de a proceda. GSAP GreenSock este poate cea mai populară opțiune, dar nu este singura. În acest tutorial, vom arunca o privire asupra modului de a anima SVG folosind instrumentele GSAP, precum și a modului de declanșare a animațiilor folosind JavaScript.
Acest lucru este realizat prin animații inline (cod SVG în HTML) și CSS ale pieselor. Wufoo, mama mea, a vrut să reîmprospăteze grafica publicitară pe care o folosim aici. Mi s-a părut un moment bun să-l folosești și mai mult. Cum a fost făcut este prezentat în videoclipul de mai jos. CSS ar beneficia de randomizarea nativă a proprietăților de întârziere a animației. Ar fi grozav să văd că literele sunt ajustate doar puțin la fiecare interval. Ar fi fost frumos dacă această animație s-ar fi încheiat în aproximativ 3 secunde.
Efectul translateY(150px) face ca dinozaurul să se miște atât de mult mai jos încât nu apare nimic. Dinozaurul este ascuns la început în această reclamă, dar când o animație de intrare/ieșire dispare , apar cuvintele Rapid. Folosind vechea tehnică a casetei căptușite, putem crea o scară SVG inline care își menține raportul de aspect, folosind și SVG inline. Deoarece acesta este un anunț, puteți folosi un <a href=>, asigurați-vă că setați proprietatea de blocare să afișeze: bloc în loc să utilizați un <div>.
Acțiunea de a crea obiecte animate. Exportatorul poate fi folosit pentru a crea animații SVG . Când Modul de randare este setat la Animație, întregul cadru al unei randări, indiferent dacă este un cadru (F12 sau Shift-F12), sau toate cadrele dintr-o randare (Shift-F12 sau F12), este salvat într-un singur fișier.
Elementele de animație pot fi folosite pentru a crea grafice SVG. Primele elemente de animație SMIL au fost identificate după cum urmează: *animate%27/animate%27 – care vă permite să animați atribute și proprietăți scalare în timp.
În cele mai multe cazuri, utilizarea etichetelor *img este cauza principală a eșecului animației SVG . Când începe animația, SVG-ul poate fi vizibil pe site, dar nu va începe. Cel mai simplu mod de a rezolva acest lucru este să înlocuiți toate etichetele img> cu o etichetă object>.
În SVG, puteți modifica grafica vectorială în timp pentru a crea efecte animate. Există mai multe moduri de a anima conținut SVG . Pentru această piesă, voi folosi elementele de animație ale SVG [svg-animated]. Datele conținute într-un fragment de document SVG pot fi descrise prin modificarea elementelor documentului în funcție de timp.
Cum creez un Svg animat?
Există câteva moduri de a crea un SVG animat . O modalitate este să utilizați un program de desen vectorial precum Adobe Illustrator pentru a crea opera de artă și apoi să utilizați un instrument precum After Effects pentru a adăuga animația. O altă modalitate este să utilizați un instrument precum Snap.svg pentru a crea animația direct în cod.
Acest tutorial vă va ghida prin pașii fundamentali de optimizare și animare cu CSS în contextul sva. Singura versiune Bootstrap disponibilă în acest scop este Bootstrap 4.1.3. Dacă faceți bootstrap, asigurați-vă că SVG-ul dvs. include clasa img-fluid pentru a vă asigura că se scalează corect pe telefoane mobile. Imaginea poate fi personalizată prin adăugarea de clase la SVG. Când cerem CSS să efectueze un efect asupra unei animații, trebuie să îi specificăm numele și cadrele cheie. Când dreptunghiul s-a terminat de estompare, animația textului trebuie să ruleze în același timp. Din cauza acestei schimbări, bezierul cubic de pe această treaptă se află acum într-o stare de mișcare mai rapidă. Această animație apare în 40% din timp în mijlocul nostru. Resetăm stroke-dashoffset astfel încât liniuța să acopere întreaga cale.
Cum să animați un SVG
Realizarea unui svg animat poate fi un proces simplu și plăcut datorită instrumentelor potrivite. Când alegeți cadrul de animat, îl puteți exporta folosind SVG. Puteți selecta și un nod în acel cadru pentru a anima. Cu previzualizarea live, vă puteți modifica animațiile până când sunteți mulțumit.
Înainte de a putea anima un fișier HTML, trebuie mai întâi să declarați cadrele cheie și numele. Mențineți proprietățile atribuindu-le elementelor. După ce toate elementele au fost editate, salvați fișierul final.
Animați Svg Css
Animarea unui fișier SVG se poate face cu CSS. Există o serie de proprietăți diferite care pot fi utilizate pentru a crea animația. Cele mai comune proprietăți sunt: animație, animație-întârziere, animație-durată, animație-iterație-număr, animation-name, animation-play-state, animation-timing-function.
Grafica vectorială scalabilă (SVG), un format de imagine vectorială bazat pe XML, permite interactivitate, precum și animație în grafică bidimensională. Acest articol va trata cum să exportați și să optimizați fișierele sva, să le încorporați și să explicați modul în care fiecare dintre ele are impact asupra stilurilor și animațiilor pe care le creați. CSS va fi folosit pentru stilare și animare. Dacă lucrați cu un fișier cu căi grele, schimbarea numărului de zecimale de la patru la una poate reduce dimensiunea fișierului cu 50%. Puteți previzualiza o optimizare dacă ajunge să vă spargă fișierul, deci este un mare plus. Instrumentul online al lui Peter Collingridge pentru optimizarea sva este unul dintre câteva disponibile. Deoarece SVG 1.1 nu necesita CSS, atributele de stil CSS care au fost aplicate nodurilor SVG au fost cunoscute ca atribute de prezentare.
Setarea atributelor de prezentare este similară cu setarea unei proprietăți CSS pe un element. Deși joacă un rol important în cascada stilului, vom putea explica acest lucru mai în profunzime în curând. Proprietățile CSS pot fi folosite și pentru a defini stilurile unui element SVG . Utilizarea atributelor de prezentare pe un nod sva este la fel cu utilizarea lor pentru a defini o proprietate CSS. Toate atributele de prezentare sunt foi de stil cu autoritate de nivel scăzut, deci pot fi specificate prin orice altă definiție de stil. Stilurile de mai jos în diagramă, cum ar fi cel de sus, ar trebui folosite peste cele de deasupra lor. Pseudoclasele dinamice ale CSS2, cum ar fi:hover,:active și:focus, sunt folosite pentru a modela majoritatea SVG-urilor.
Capacitatea elementelor SVG de a transforma și transforma originea în același mod în care o fac elementele HTML este analogă cu capacitatea elementelor HTML de a transforma și transforma originea în același mod în care o fac elementele CSS. Deoarece SVG-urile nu sunt guvernate de modele de casete, le lipsește o margine, o umplutură sau o marjă, așa cum au elementele HTML. După cum se precizează în specificația silabelor, numele de proprietăți adecvate (de obicei litere mici și cratime) sunt definite de specificațiile CSS. Când o valoare de origine a transformării este specificată în procente, aceasta este setată în raport cu caseta de delimitare a elementului. De acum, Firefox nu acceptă setarea originii în valori procentuale pentru transformare. Dacă doriți ca transformările să se comporte corect pe termen lung, ar trebui să utilizați valori absolute. Există șase moduri de a insera un SVG într-un document, fiecare cu propriul său set de avantaje și dezavantaje.
Puteți determina dacă anumite stiluri CSS, animații și interacțiuni vor funcționa după ce încorporați un SVG folosind metoda de încorporare. Mai multe informații despre tehnică pot fi găsite în articolul excelent al lui Jake Archibald. Este încă acceptat pe scară largă, în ciuda faptului că standardul HTML nu a specificat niciodată cum să-l formateze. Eticheta >svg> poate fi folosită și pentru a încorpora un SVG într-un document în linie, care este cunoscut sub numele de insulă de cod. Deoarece SVG-ul poate fi stilat și animat folosind SVG-uri și CSS inline , este mai simplu de lucrat. Dacă intenționați să încorporați un SVG, asigurați-vă că este încorporabil în toate browserele. În funcție de tehnica de încorporare, poate fi necesar să adăugați hack-uri sau remedieri pentru a face compatibil SVG-ul dvs. încrucișat.
Pentru a vedea detaliile, citiți articolul meu despre Codrops. Este imposibil să adăugați orice hack-uri noi atunci când o imagine este încorporată într-un SVG ca fundal. De asemenea, trebuie să vă asigurați că lățimea elementului dvs. este de 100%. În CSS, 300 x 150 pixeli este dimensiunea implicită pentru elementele înlocuite. Doar hack-ul Adobe Photoshop lansat de Thierry Koblentz pe A List Apart poate face un iframe receptiv. Interogările media CSS pot fi trimise și către SVG. Cu interogări media, puteți modifica stilurile unui SVG în diferite dimensiuni ale ferestrelor de vizualizare. Când SVG-ul răspunde la fereastra unei pagini, nu este fereastra paginii, ci propriul său ecran. Acesta este același concept ca interogările de elemente în practică.
Animație Svg cu Css
CSS poate fi folosit pentru a crea imagini animate în acest format de imagine versatil. Ca urmare, efectele mai complexe pot fi vizualizate și înțelese mai ușor. Adăugând clase simple la SVG, puteți schimba forma imaginii după bunul plac. Îl puteți folosi pentru a crea grafică mai dinamică.
Cum să animați calea Svg
Există câteva moduri diferite de a anima o cale SVG: 1. Utilizarea atributului de transformare SVG 2. Utilizarea animațiilor CSS3 3. Utilizarea SMIL 4. Utilizarea JavaScript Atributul de transformare este cel mai comun mod de a anima o cale SVG. Acest lucru vă va permite să animați calea transformând coordonatele căii. Pentru a anima calea folosind CSS3, va trebui să setați proprietatea animation-timing-function la liniară sau alternativă. Apoi, puteți seta proprietatea animation-duration la durata de timp în care doriți să ruleze animația. SMIL este o altă modalitate de a anima calea. SMIL înseamnă Synchronized Multimedia Integration Language. Acest lucru vă va permite să animați calea utilizând elementul. Ultima modalitate de a anima calea este folosind JavaScript. Pentru a face acest lucru, va trebui să creați o funcție care va actualiza coordonatele căii. Apoi, puteți apela această funcție pentru a rula animația.
Folosind o cale SVG, puteți crea cu ușurință orice. Este un format de imagine vectorială format din pixeli nu colorați, ci funcții matematice care pot fi interpretate pe ecran odată ce au fost create. Acest articol vă va arăta cum să utilizați un set de date de cale SVG în scopuri creative folosind funcția getPointAtLength() în contextul getPointAtLength(). Vom anima un nou element cerc de-a lungul unei căi în fiecare cadru al acestei animații. Fiecare cadru va fi încărcat cu o nouă particulă care va fi creată prin apăsarea funcției createParticle pe fiecare cadru. Pentru a face animația mai frumoasă, am animat, de asemenea, stroke-dashoffset-ul siguranței pentru a o face să pară mai realistă. Acum avem capacitatea de a extrage coordonatele punctelor dintr-o cale SVG și de a le aplica oricărei alte căi folosind noul nostru API. Deoarece animația fiecărui vector are propria întârziere calculată din propria locație de-a lungul traseului, este de așteptat să producă un flux frumos de particule. Vă rugăm să faceți timp să încercați această tehnică și să împărtășiți rezultatele dvs. cu mine pe Twitter și abia aștept să văd ce vii.
De ce ar trebui să animați SVG-uri pe site-ul dvs
JavaScript poate fi accesat prin meniul JavaScript extern. Trebuie să setați lungimile liniuțelor (și intervalului) ca fiind egale cu lungimea căii pentru a anima această cale ca și cum ar fi desenat încet și fără probleme pe ecran. Lungimea fiecărei liniuțe și interval în traseul curbat este egală cu cea a întregului traseu. Cum animați sva? Utilizarea CSS și SVG pentru a anima site-urile web are ca rezultat timpi de încărcare mai rapidi în comparație cu gif-urile și videoclipurile voluminoase. Abilitatea de a vă anima site-ul web fără a instala o altă bibliotecă JavaScript vă permite, de asemenea, să faceți animații simple la încărcarea paginii. Crezi că SMIL va fi eliminat? Nu este, de fapt, un înlocuitor pentru animațiile SMIL . Deși specificația se bazează pe SMIL, aceasta a evoluat foarte mult de-a lungul anilor. Browserul îl acceptă într-o varietate de moduri.
Exemplu de animație Svg
Există câteva tipuri diferite de animație care pot fi utilizate cu SVG. Acestea includ:
- Animații SMIL: Acestea sunt animații care sunt scrise în SMIL (Synchronized Multimedia Integration Language). SMIL este un limbaj bazat pe XML care este folosit pentru a descrie sincronizarea și animația.
- Animații CSS: Acestea sunt animații care sunt scrise în CSS. CSS este un limbaj pentru foi de stil care este folosit pentru a descrie prezentarea unui document scris într-un limbaj de marcare.
- Animații JavaScript: acestea sunt animații care sunt scrise în JavaScript. JavaScript este un limbaj de programare care este folosit pentru a crea pagini web interactive.
Un SVG (grafică vectorială scalabilă) este un element vizual care poate fi scalat la orice dimensiune. Sunt mai ușor de modificat și adaptat mai târziu în viața lor, deoarece se bazează mai degrabă pe cod decât pe pixeli. Care sunt cele mai bune părți ale svg-ului? Animațiile sunt foarte mici și foarte rapid de încărcat. Sunt ideale pentru o gamă largă de aplicații moderne de web design. Animatorul poate fi folosit pentru a anima o imagine dacă aceasta a fost conectată la ea și setările sale de animație sunt setate. Utilizați instrumentul de animație SVG al Framer dacă doriți să animați SVG-uri cu CSS, JavaScript sau HTML.
Svg poate anima Css?
Există și alte instrumente de animație disponibile, dar nu sunt la fel de simplu de animat ca CSS.
De ce SVG este formatul superior de imagine pentru web design
Scalable Vector Graphics (SVG) este un format de imagine vectorială care poate fi folosit pentru a produce imagini de înaltă calitate, care sunt prietenoase cu SEO și scalabile. Pe lângă faptul că este simplu de editat, are și o gamă largă de filtre încorporate care pot fi folosite pentru a crea efecte de interfață cu utilizatorul captivante și atrăgătoare din punct de vedere vizual. Celălalt tip este CSS, un format mai tradițional bazat pe text, care este scalabil și mai greu de personalizat.