Începeți cu animație web

Am construit ghiduri complete pentru a vă ajuta să învățați CSS și să animați CSS, indiferent dacă începeți doar cu elementele de bază sau doriți să explorați tehnici mai avansate.

Începeți cu animație web 

Propunerea a devenit o parte foarte importantă a domeniului web design în ultimii ani. Propunerea și animația adaugă straturi de dimensiuni unei interfețe, ajutând utilizatorul, oferind feedback, încântătoare și angajându-se de-a lungul drumului.

În acest articol, voi trece prin pașii implicați în animația de învățare pentru web, din ceea ce este vorba, deși tranziții simple, animații mai complexe și resurse utile. Vor fi câteva exerciții practice și interactive pentru a trasa puncte de acasă. Până la urmă, veți avea o idee solidă despre actualul peisaj de animație web și despre modul în care vă puteți ocupa de el.

Vom analiza următoarele:

  • Ce și de ce?
  • CSS Transitions
  • CSS Keyframe Animation
  • Mișcare autentică
  • Funcțiile Cubic Bezier (Timing)
  • CSS Biblioteci și instrumente
  • SVG
  • JavaScript
  • Prototyping

Ce și de ce?

Disciplina de design web este în continuă schimbare, iar un aspect care a apărut în ultimii ani este abilitatea de a anima. Navigatorii au devenit mai capabili, procesoarele mai rapide, iar dispozitivele manuale au pregătit calea pentru "gesturi"; scuturarea, ciupirea si forta atingerii.

Motion oferă interfețe unui număr de lucruri care îmbunătățesc experiența utilizatorilor, inclusiv:

  • cauzalitatea: evidențierea acțiunii și a reacției, un lucru care cauzează altul.
  • Parere: a spune unui utilizator că au reușit (sau au eșuat) să efectueze o acțiune, cum ar fi să facă clic pe ceva sau să introducă datele formularului.
  • Progresie: ilustrând faptul că un lucru urmează după altul, evenimentele din serii de încărcare a barelor și centrifugele fiind exemple perfecte.
  • desfătare: designul bun este adesea declarat a fi invizibil, dar o mișcare bine pusă în aplicare poate încânta cu adevărat și poate implica utilizatorii.

Propunerea îmbunătățește experiența utilizatorului și aduce viața pe web. Având în vedere toate acestea, este important ca, în calitate de designer de interfețe, să țineți cont de animație. Să mergem cu elementele de bază!

Resurse de învățare

  • De ce să animați? de Donovan Hutchinson 
  • Web de animație la locul de muncă de Rachel Nabors

Sau să sară direct cu cursul de animație practic al lui Craig Campbell!

CSS Transitions

Transitările CSS sunt adesea un gateway de web designer în lumea mișcării. Ei instruiesc browserul să ia o stare inițială a unui element, apoi o stare finală și o tranziție fără probleme între cele două. Sintaxa este relativ directă, cuprinzând patru proprietăți și o versiune prescurtată:

  • tranziție-proprietate
  • durata tranziției
  • tranziție-sincronizare-funcție
  • tranziție întârziere

Să începem cu un buton. În acest exemplu, avem un buton cu câteva stiluri de bază pentru a face să pară ca și cum ar fi crescut puțin din pagină. În mod prestabilit, dacă treceți deasupra acestuia, se schimbă culoarea. Apoi, dacă faceți clic pe el, pare să fie împins în jos. Am făcut acest lucru folosind fundal, poziția-top, si poziția stânga proprietăți, dar schimbarea în fiecare caz este instantanee:

Acum, hai să facem efectul mai subtil, adăugând a tranziție la .buton element. Adăugarea, de exemplu, tranziție: toate 1s; va asigura asta toate schimbările de proprietate vor fi tranziționate fără probleme pe parcursul a 1 secundă.

Dezactivați prima regulă din panoul CSS și veți vedea că aceasta va avea efect:

Acum, ați văzut lucrul acesta, încercați să dezactivați a doua regulă. În al doilea exemplu, am enumerat fiecare dintre proprietățile în schimbare în mod individual, astfel încât să putem defini diferite viteze de tranziție pentru fiecare dintre acestea.

În cele din urmă, încercați să dezarhivați al treilea exemplu, unde veți vedea că am adăugat funcții de temporizare de asemenea. Acestea afectează rata de tranziție - vom vorbi mai târziu despre ele.

Resurse de învățare

  • Sus și alergare cu tranziții CSS

CSS Keyframe Animation

Cu tranzițiile CSS sub centură, este timpul să faceți lucrurile într-o notă. Animație CSS keyframe oferă control mult mai mult, permițându-vă să specificați modificările de-a lungul unei cronologii. Sunt necesari doi pași pentru animarea keyframe-ului; definirea cadrelor cheie și atribuirea animației elementului dvs. de alegere.

Să spunem că începem cu o minge.

Acum putem defini câteva cadre cheie, setând a din stat și a la stat. Aici spunem asta stânga poziția proprietății va începe la 5%, animând la 85%, mișcând efectiv mingea pe ecran.

cadrele cheie @ se mișcă din stânga: 5%;  la stânga: 85%; 

Puteți vedea că am implantat din și la intr-un @keyframes declaraţie. Și ne-am numit animația noastră mișcare. Acum trebuie să alocăm această animație mingii noastre, pe care o facem așa:

.minge animație: mutați 1s; 

Acest lucru este pus în aplicare în forma sa cea mai simplă, cotidiană. Trebuie să definim cât timp dorim ca animația să dureze și animația pe care o aplicăm. Acum, când vom încărca demo-ul, veți vedea că animația va avea efect:

Notă: animația începe în momentul încărcării paginii, deci va trebui să atingeți rerun butonul din colțul acestui stilou încorporat pentru a vedea ce se întâmplă.

Mai mult control

Mergând dincolo de simplu din și la etape, putem defini puncte de-a lungul cronologiei folosind procente. Folosind 0% și 100% ne-ar da exact același rezultat ca înainte:

cadrele cheie @ se mișcă 0% stânga: 5%;  100% stânga: 85%; 

Să adăugăm un pas suplimentar în mijloc și să aducem mingea înapoi în poziția sa inițială. De asemenea, vom face numărătoarea iterației animației infinit, așa că se menține în buclă. Editați valorile din stiloul de mai jos și vedeți-le să aibă efect:

Este posibil să adăugați mai multe animații la un singur element, să modificați direcția de animație și să modificați complet sincronizările. Uitați-vă la aceste resurse pentru a afla mai multe!

Resursele de învățare

  • Sus și rularea cu animații de tip keyframe CSS
  • Inițierea unui începător în animația CSS
  • Ghidul de buzunar animații CSS de Val Head
  • Buletinul de animație UI

Mișcare autentică

Mișcarea aduce la viață obiecte statice și diferența autentic mișcarea poate face acest lucru este imensă. Propunerea dă o masă obiect, o plasează în spațiu, iar fizica din lumea reală se aplică la ea. Dacă un obiect se mișcă într-un mod cu care suntem familiarizați, suntem mult mai predispuși să facem această conexiune emoțională foarte importantă. Este diferența dintre un cerc care se deplasează în sus și în jos și o minge care se învârte:

Diferența dintre aceste două este clară (deși bounce este departe de a fi perfectă). Învățarea modului de a da autenticitatea animației este crucială.

"Acțiunea cea mai naturală tinde să urmeze o traiectorie arcuită, iar animația ar trebui să respecte acest principiu urmărind" arce "implicite pentru un realism mai mare." - Doisprezece principii de bază ale animației

Resursele de învățare

  • Măsurarea materialului de la Ghidul de design material Google
  • Adăugarea de recurs la animațiile dvs. pe Web
  • Disney are douăsprezece principii de bază ale animației

Funcțiile Cubic Bezier (Timing)

Am acoperit "relaxarea" de câteva ori deja în acest articol; este rata la care se mișcă ceva și poate fi exprimată ca o curbă de-a lungul a două axe. În CSS există câteva funcții de sincronizare încorporate pe care le puteți utiliza cu cuvintele cheie (liniar, ușurința în, ușurința în-out etc), dar puteți descrie aceste sincronizări mai precis cu a funcția cubică bezier, care arată astfel: 

.1, .25, .1,1

Pe măsură ce timpul se mișcă constant de-a lungul axei x, rata de mișcare crește și se încetinește de-a lungul axei y. Acest exemplu de mai sus este utilizat pe bilele noastre de bouncing de la mai devreme; vă puteți imagina mingea în mișcare rapidă în sus, apoi încetinirea atunci când ajunge la apex. Aruncați o privire la această curbă pe cubic-bezier.com pentru a vă ajuta să o vizualizați.

Curba este controlată de cele două mânere (pe care le veți cunoaște dacă ați folosit instrumentul stilou în Adobe Illustrator sau Sketch) și funcția bezier cubică pe care o putem folosi în CSS reflectă acele mânere. Deci, funcția noastră arată ca:

cub-bezier (.1, .25, .1,1)

Există patru valori, fiecare variind (de dragul argumentului) de la 0 la 1 Acestea reprezintă:

  • coordonata x a mânerului 1 (.1)
  • coordonata y a mânerului 1 (.25)
  • coordonata x a mânerului 2 (.1)
  • coordonata y a mânerului 2 (1)

Înțelegerea modului în care funcționează funcțiile bezier va îmbunătăți dramatic animațiile dvs., mai ales dacă doriți autentic mişcare.

Resursele de învățare

  • Relaxați-vă în funcțiile Cubic Bezier
  • cubic-bezier.com de Lea Verou
  • easings.net de Andrey Sitnik

CSS Biblioteci și instrumente

Codarea animației CSS bine arătate manual poate fi dificilă, dar există o serie de biblioteci disponibile care fac ridicarea greu pentru tine. Animate.css, de Dan Eden, este o foaie de stiluri plina de animatii bazate pe cadre cheie, toate cu nume de clase personalizate, gata de utilizare.

Resursele de învățare

  • Aflați UI de mișcare de sus în jos
  • Sfat rapid: aduceți site-ul dvs. la viață cu Animate.css

Mai multe Biblioteci CSS

  • Magic Animații
  • DynCSS
  • CSS Shake
  • Hover.css

SVG

SVG (Scalable Vector Graphics) au devenit cel mai bun prieten al web designerului în ultimii ani, oferindu-ne grafică clară, pagini mai ușoare și elemente animabile. Unele dintre ceea ce am discutat pot fi aplicate direct elementelor SVG, dar multe proprietăți se comportă diferit.

Iată un SVG inline, cu o tranziție aplicată pe culoarea sa pe hover. Cu toate acestea, veți observa că folosim completati proprietate, nu culoare de fundal pe care ne-am aștepta cu un element HTML:

SVG poate fi animat cu CSS la fel cum am discutat în restul acestui articol. Dacă îl puteți transforma sau traduce cu HTML, puteți face același lucru și cu SVG.

Dar SVG poate fi de asemenea manipulat prin SMIL (Synchronized Multimedia Integration Language), care vă permite să utilizați lucruri precum element, direct în SVG. Verificați acest cerc SVG, trecând pe ecran:

Acesta este un cerc care conține un  specificând atributul care trebuie animat ( cx coordonați în acest caz), de la o poziție de la 50px la 400px, durata de 2 secunde și repetarea pe termen nelimitat.

   

SMIL este un set foarte puternic de instrumente, începeți să citiți mai jos!

Resursele de învățare

  • Cum se utilizează animateTransform pentru animația SVG Inline
  • Un ghid pentru animațiile SVG (SMIL) de Sara Soueidan
  • Animarea cu Snap.svg
  • Conectați-vă pe linia dotată: animați-vă propria semnătură SVG

Dragoste ideea animării SVG, dar nu sigură ce să animați? Consultați serviciile de ilustrații vectoriale de pe Envato Studio și aflați ce oferă!

Caractere, elemente și obiecte gata pentru animație video

JavaScript

Mulți dezvoltatori de la începutul jocului, cu JavaScript (sau jQuery), prin adăugarea de animație în paginile web. În cazul în care browser-ul de sprijin pentru alternative CSS este schiță, JS este un pariu bun.

jQuery biblioteca UI vine ambalate cu un număr de ajutoare UI off-the-raft, inclusiv efect() , exemplificat mai jos (alegeți un efect din meniul derulant și din ceas, așa cum este aplicat conținutului:

Dincolo de aceasta, JavaScript (în mâinile drepte, nu ale mele) poate oferi serios animație, iar din moment ce Adobe Flash a înmânat oficial demisia, au apărut câteva biblioteci strălucitoare de JavaScript. Platforma de animație a GreenSock (GSAP) este, fără îndoială, cel mai puternic dezvoltator care dă dovadă o întreagă serie de instrumente de timp și de tween.

Aruncați o privire la cursul începătorului nostru și vedeți cum vă rezervați tariful cu GSAP!

Resursele de învățare

  • Platforma de animație GreenSock: primii pași
  • Animație avansată cu pluginuri GSAP

Prototyping

Au dispărut zilele în care rezultatele livrabile statice sunt suficiente - imaginile și diagramele de flux nu comunică suficiente informații. Clientii sinceri din zilele noastre vor sa vada si sa simta ceea ce proiectati, sa experimentati mișcarea, motiv pentru care prototipurile raspund mult mai multe intrebari.

"Dacă o imagine este în valoare de 1000 de cuvinte, un prototip este în valoare de 1000 de întâlniri." - sosind la @ideo

- John Maeda (@ johnmaeda) 5 octombrie 2014

Prototipurile pot fi destul de crude sau pot reflecta produsul final destul de precis, dar ori de câte ori se încadrează pe această scală, acestea trebuie să fie eficiente. În cazul mișcării și al animației, există o serie de aplicații care vă ajută să comunicați desenele. 

Adobe Animate este Flash pentru noua generație, oferind instrumente avansate de animație. Adobe After Effects este un instrument de producție video, dar oferă și o mișcare avansată bazată pe cronologie. Apoi, există aplicații mai simple, cum ar fi Principiul pentru Mac și chiar Keynote:

Keynote Motion Graphic Experiment, de Linda Dong

Odată ce proiectarea mișcării a devenit o parte a ceea ce faceți, găsirea celor mai bune instrumente pentru a arăta lumii este un pas important!

Resursele de învățare

  • Propunerea de design cu principiul pentru Mac
  • Cronologie bazată pe animație pentru Web cu Hype 3
  • Cum se utilizează efecte după prototipuri de animație Web
  • Keynote Motion Experiment grafic de Linda Dong

Concluzie

Și acolo avem! Acest ghid ar trebui să vă ofere o înțelegere solidă a peisajului de animație web așa cum există astăzi. Cu toate aceste resurse de învățare sub centură veți fi înarmați cu un set complet de abilități pentru a explora lumea designului mișcării.

Sper că ați găsit-o utilă. Vă rugăm să împărtășiți sfaturile și resursele proprii în comentariile de mai jos sau pe forumul comunității Envato.