Shushanya ibi: winjiye mumushinga mushya, wibire muri codebase, kandi mumasaha yambere, uvumbuye ikintu kimenyerewe. Ikwirakwijwe mu mpapuro zose, urasanga ibisobanuro byinshi bya @keyframes kubisobanuro bimwe bya animasiyo. Ingaruka eshatu zitandukanye zigenda zishira, ibice bibiri cyangwa bitatu byerekana itandukaniro, intoki za zoom animasiyo, kandi byibura bibiri bya spin animasiyo kuko, neza, kubera iki? @keyframes pulse { Kuva { igipimo: 1; } Kuri { igipimo: 1.1; } }

@keyframes nini-pulse { 0%, 20%, 100% { igipimo: 1; } 10%, 40% { igipimo: 1.2; } }

Niba ibi bintu bisa nkibimenyerewe, ntabwo uri wenyine. Mubunararibonye bwanjye mumishinga itandukanye, imwe muma ntsinzi yihuse nshobora gutanga ni uguhuza no gutunganya urufunguzo. Byahindutse urugero rwizewe kuburyo ubu ntegereje iri suku nkimwe mubikorwa byanjye byambere kuri codebase nshya. Ubwenge Bwihishe inyuma y'akajagari Uku kurengana kwumvikana neza iyo ubitekereje. Twese dukoresha animasiyo imwe yibanze mumirimo yacu ya buri munsi: irashira, slide, zoom, kuzunguruka, nizindi ngaruka zisanzwe. Izi animasiyo ziroroshye, kandi biroroshye gukubita ibisobanuro byihuse @keyframes kugirango akazi karangire. Hatariho sisitemu ya animasiyo yibanze, abayitezimbere basanzwe bandika aya mfunguzo kuva kera, batazi ko animasiyo zisa nazo zisanzweho ahandi muri codebase. Ibi biramenyerewe cyane mugihe dukora mubice byubatswe (ibyo benshi muritwe dukora muriyi minsi), nkuko amakipe akorera muburyo bubangikanye nibice bitandukanye bya porogaramu. Igisubizo? Akajagari ka Animation. Ikibazo Gito Ibibazo bigaragara cyane hamwe na urufunguzo rwo kwigana ni uguta igihe cyiterambere kandi code idakenewe. Ibisobanuro byinshi byingenzi bisobanura ahantu henshi kuvugurura mugihe ibisabwa bihindutse. Ukeneye guhindura igihe cya animasiyo yawe ishira? Uzakenera guhiga buri rugero kuri codebase yawe. Urashaka guhuza imikorere yoroshye? Amahirwe yo kubona ibintu byose bitandukanye. Kugwiza ingingo zo kubungabunga bituma ndetse na animasiyo yoroshye ivugurura umurimo utwara igihe. Ikibazo Kinini Urufunguzo rwo kwigana rutera ikibazo cyinshi cyihishe inyuma yubuso: umutego wisi yose. Ndetse iyo ukorana nibikoresho bishingiye kububiko, urufunguzo rwa CSS burigihe rusobanurwa murwego rwisi. Ibi bivuze ko urufunguzo rwose rukoreshwa mubice byose. Buri gihe. Nibyo, animasiyo yawe ntabwo byanze bikunze ikoresha urufunguzo wasobanuye mubice byawe. Ikoresha urufunguzo rwanyuma ruhuza iryo zina rimwe ryapakiwe murwego rwisi. Mugihe cyose urufunguzo rwawe rwose rusa, ibi birasa nkikibazo gito. Ariko mugihe ushaka guhitamo animasiyo kubibazo byihariye byo gukoresha, uri mubibazo, cyangwa bibi, uzaba ariwe ubitera. Haba animasiyo yawe ntizikora kuko ikindi kintu cyapakiwe nyuma yawe, cyanditse hejuru yurufunguzo rwawe, cyangwa ibice byawe biremereye nyuma kandi kubwimpanuka bihindura imyitwarire ya animasiyo kubindi bice byose ukoresheje izina ryurufunguzo, kandi ntushobora no kubimenya. Dore urugero rworoshye rwerekana ikibazo: .ibigize-kimwe { / * Imiterere yibigize * / animasiyo: pulse 1s yoroshye-in-out itagira iherezo; }

/ * iki gisobanuro cya @keyframes ntabwo kizakora * / @keyframes pulse { Kuva { igipimo: 1; } Kuri { igipimo: 1.1; } }

/ * nyuma muri kode ... * /

.ibigize-bibiri { / * Imiterere yibigize * / animasiyo: pulse 1s yoroshye-muri-itagira iherezo; }

/ * iyi urufunguzo ruzakoreshwa mubice byombi * / @keyframes pulse { 0%, 20%, 100% { igipimo: 1; } 10%, 40% { igipimo: 1.2; } }

Ibice byombi bikoresha izina rya animasiyo imwe, ariko igisobanuro cya kabiri @keyframes cyanditse hejuru yambere. Noneho ibice byombi-kimwe nibice-bibiri bizakoresha urufunguzo rwa kabiri, utitaye kubice bisobanura urufunguzo. Reba Ikaramu ya Keyframes Tokens - Demo 1 [forked] na Amit Sheen. Igice kibi cyane? Ibi akenshi bikora neza mubikorwa byiterambere ariko bigacika mu buryo butangaje mubikorwa iyo kubaka inzira bihindura gahunda yo gupakira kumpapuro zawe. Urangiza na animasiyo yitwara ukundi ukurikije ibice byapakiwe nuburyo bukurikirana. Igisubizo: Urufunguzo ruhuriweho Igisubizo kuriyi mvururu kiroroshye byoroshye: byateganijwe mbere yingirakamaro ya urufunguzo rwabitswe muburyo busanzwe. Aho kureka buri kintu kigasobanura animasiyo yacyo, dushiraho urufunguzo rwibanze rwanditse neza, byoroshye kurikoresha, ibungabungwa, kandi ijyanye nibyifuzo byumushinga wawe. Tekereza nk'ibimenyetso by'urufunguzo. Nkuko dukoresha ibimenyetso byamabara hamwe nintera, kandi benshi muritwe tumaze gukoresha ibimenyetso kumiterere ya animasiyo, nkigihe cyo kumara no koroshya imikorere, kuki tutakoresha ibimenyetso byurufunguzo? Ubu buryo burashobora guhuza muburyo busanzwe hamwe nigishushanyo icyo aricyo cyose cyerekana icyerekezo ukoresha, mugihe ukemura ikibazo gito (code duplication) hamwe nikibazo kinini (amakimbirane yisi yose) muburyo bumwe. Igitekerezo kiroroshye: kora isoko imwe yukuri kuri animasiyo dusangiye. Urupapuro rusangiwe rurimo urufunguzo rwateguwe neza rutwikiriye uburyo bwa animasiyo umushinga wacu ukoresha. Ntabwo ukeka niba animasiyo yazimye isanzwe ibaho muri codebase yacu. Ntabwo uzongera kwandika kubwimpanuka animasiyo ivuye mubindi bice. Ariko dore urufunguzo: ntabwo arimiterere ya kopi-paste ya animasiyo gusa. Byashizweho kugirango bigire imbaraga kandi bihindurwe binyuze mumitungo yihariye ya CSS, itwemerera gukomeza guhuzagurika mugihe tugifite uburyo bwo guhuza animasiyo na animasiyo zikoreshwa, nkaho niba ukeneye animasiyo nini ya “pulse” ahantu hamwe. Kubaka Urufunguzo rwa mbere Imwe mu mbuto za mbere zimanitse hasi tugomba guhangana ni animasiyo ya "fade-in". Muri imwe mu mishinga yanjye iheruka, nasanze ibisobanuro birenga icumi bitandukana mubisobanuro, kandi yego, byose byashushanyije gusa kuva kuri 0 kugeza kuri 1. Noneho, reka dukore urupapuro rushya, tuyite kf-tokens.css, tuyinjize mumushinga wacu, hanyuma dushyire urufunguzo rwacu hamwe nibitekerezo bikwiye imbere yacyo. / * urufunguzo-ibimenyetso.css * /

/ * * Fade In - animasiyo yinjira * Imikoreshereze: animasiyo: kf-fade-muri 0.3s byoroshye; * / @keyframes kf-fade-in { Kuva { ububobere: 0; } Kuri { kutagaragara: 1; } }

Iri tangazo rimwe rya @keyframes risimbuza izo animasiyo zose zanyanyagiye kuri animasiyo ya codebase. Isuku, yoroshye, kandi ikoreshwa kwisi yose. Noneho ubu tumaze gusobanura iki kimenyetso, turashobora kugikoresha mubice byose mumushinga wacu: .modal { animasiyo: kf-fade-muri 0.3s byoroshye; }

.toltip { animasiyo: kf-fade-muri 0.2s byoroshye-muri-hanze; }

.menyesha { animasiyo: kf-fade-muri 0.5s byoroshye; }

Reba Ikaramu ya Keyframes Tokens - Demo 2 [forked] na Amit Sheen. Icyitonderwa: Turimo dukoresha kf- prefix mumazina yacu yose ya @keyframes. Iyi prefix ikora nkumwanya wizina ibuza kwita amazina amakimbirane na animasiyo zihari mumushinga kandi igahita isobanura neza ko urufunguzo rwibanze ruva muri dosiye yacu yerekana ibimenyetso. Gukora Igicapo Cyiza Kf-fade-in urufunguzo rukora cyane kuko biroroshye kandi hari umwanya muto wo guhungabanya ibintu. Mu zindi animasiyo, ariko, dukeneye kuba imbaraga nyinshi, kandi hano turashobora gukoresha imbaraga nini za CSS yihariye. Aha niho urufunguzo rwerekana ibimenyetso rwose ugereranije na animasiyo itatanye. Reka dufate ibintu bisanzwe: animasiyo ya "slide-in". Ariko kunyerera uva he? 100px uhereye iburyo? 50% uhereye ibumoso? Bikwiye kwinjira kuva hejuru ya ecran? Cyangwa birashoboka kureremba uhereye hasi? Birashoboka cyane, ariko aho gukora urufunguzo rwihariye kuri buri cyerekezo na buri gutandukana, turashobora kubaka ikimenyetso cyoroshye gihuza nibintu byose: / * * Igice cya - Icyerekezo cyerekana amashusho * Koresha --kf-slide-kuva kugirango ugenzure icyerekezo * Ibisanzwe: kunyerera uhereye ibumoso (-100%) * Ikoreshwa: * animasiyo: kf-slide-muri 0.3s byoroshye; * --kf-slide-kuva: -100px 0; // kunyerera uhereye ibumoso * --kf-slide-kuva: 100px 0; // kunyerera uhereye iburyo * --kf-slide-kuva: 0 -50px; // kunyerera kuva hejuru * /

@keyframes kf-slide-in { Kuva { guhindura: var (- kf-slide-kuva, -100% 0); } Kuri { guhindura: 0 0; } }

Noneho dushobora gukoresha iki kimenyetso @keyframes icyerekezo cyerekezo icyo aricyo cyose muguhindura gusa --kf-slide-kuva mumitungo yihariye: .uruhande { animasiyo: kf-slide-muri 0.3s byoroshye-hanze; / * Koresha agaciro gasanzwe: slide uhereye ibumoso * / }

.menyesha { animasiyo: kf-slide-muri 0.4s yoroshye-hanze; --kf-slide-kuva: 0 -50px; / * kunyerera kuva hejuru * / }

.modal { animasiyo: kf-fade-muri 0.5s, kf-slide-muri 0.5s cubic-bezier (0.34, 1.56, 0.64, 1); --kf-slide-kuva: 50px 50px; / * kunyerera uhereye iburyo-iburyo * / }

Ubu buryo buduha guhinduka bidasanzwe mugihe dukomeje guhuzagurika. Imenyekanisha ryibanze, ibishoboka bitagira akagero. Reba Ikaramu ya Keyframes Tokens - Demo 3 [forked] na Amit Sheen. Niba kandi dushaka gukora animasiyo zacu kurushaho guhinduka, twemerera ingaruka "kunyerera", turashoboraongeraho gusa --kf-slide-kumitungo yihariye, bisa nibyo tuzabona mugice gikurikira. Kuruhande rwibice bibiri Indi animasiyo isanzwe igenda yigana mumishinga ni ingaruka "zoom". Yaba igipimo cyoroshye-cyoherejwe kubutumwa bwa toast, gukinisha gukinisha kubintu, cyangwa ingaruka yoroheje-hasi kumutwe, animasiyo zoom ziri hose. Aho gukora urufunguzo rwihariye kuri buri gipimo cyagaciro, reka twubake urutonde rworoshye rwa kf-zoom urufunguzo:

/ * * Kuzamura - animasiyo yerekana * Koresha --kf-zoom-kuva na --kf-zoom-kugirango ugenzure ibipimo byagaciro * Ibisanzwe: zoom kuva kuri 80% kugeza 100% (0.8 kugeza 1) * Ikoreshwa: * animasiyo: kf-zoom 0.2s yoroshye-hanze; * --kf-zoom-kuva: 0.5; --kf-zoom-kuri: 1; // zoom kuva kuri 50% kugeza 100% * --kf-zoom-kuva: 1; --kf-zoom-to: 0; // zoom kuva kuri 100% kugeza 0% * --kf-zoom-kuva: 1; --kf-zoom-kuri: 1.1; // zoom kuva kuri 100% kugeza 110% * /

@keyframes kf-zoom { Kuva { igipimo: var (- kf-zoom-kuva, 0.8); } Kuri { igipimo: var (- kf-zoom-to, 1); } }

Hamwe nubusobanuro bumwe, turashobora kugera kubintu bitandukanye dukeneye: .kuri { animasiyo: kf-slide-in 0.2s, kf-zoom 0.4s byoroshye-hanze; --kf-slide-kuva: 0 100%; / * kunyerera kuva hejuru * / / * Koresha zoom isanzwe: umunzani kuva 80% kugeza 100% * / }

.modal { animasiyo: kf-zoom 0.3s cubic-bezier (0.34, 1.56, 0.64, 1); --kf-zoom-kuva: 0; / * zoom ikinamico kuva 0% kugeza 100% * / }

.umutwe { animasiyo: kf-fade-in 2s, kf-zoom 2s byoroshye-in; --kf-zoom-kuva: 1.2; --kf-zoom-kuri: 0.8; / * igipimo cyoroheje hasi * / }

Mburabuzi ya 0.8 (80%) ikora neza kubintu byinshi UI, nkubutumwa bwa toast hamwe namakarita, mugihe bikiri byoroshye guhitamo kubibazo bidasanzwe. Reba Ikaramu ya Keyframes Tokens - Demo 4 [forked] na Amit Sheen. Ushobora kuba wabonye ikintu gishimishije murugero ruheruka: twagiye duhuza animasiyo. Kimwe mu byiza byingenzi byo gukorana na @keyframes ibimenyetso ni uko byashizweho kugirango bihuze hamwe. Ibigize neza ni nkana, ntabwo ari impanuka. Tuzaganira kubijyanye na animasiyo muburyo burambuye nyuma, harimo aho bishobora kuba ikibazo, ariko guhuza byinshi biroroshye kandi byoroshye kubishyira mubikorwa. Icyitonderwa: Mugihe nandika iyi ngingo, kandi ahari kubera kuyandika, nasanze natekereje ku gitekerezo cyose cya animasiyo yinjira. Hamwe n'iterambere rya vuba muri CSS, turacyakeneye na gato? Ku bw'amahirwe, Adam Argyle yakoze ubushakashatsi ku bibazo bimwe kandi abigaragaza neza muri blog ye. Ibi ntabwo bivuguruza ibyanditswe hano, ariko birerekana uburyo bukwiye gusuzumwa, cyane cyane niba imishinga yawe ishingiye cyane kuri animasiyo yinjira. Gukomeza Animasiyo Mugihe animasiyo yinjira, nka "fade", "slide", na "zoom" bibaho rimwe hanyuma bigahagarara, animasiyo ikomeza izunguruka igihe kitazwi kugirango ikurura ibitekerezo cyangwa yerekana ibikorwa bikomeje. Ibintu bibiri bikunze kugaragara bikomeza guhura nabyo ni "kuzunguruka" (kubipakurura ibipimo) na "pulse" (kugirango ugaragaze ibintu byingenzi). Izi animasiyo zigaragaza ibibazo byihariye mugihe cyo gukora urufunguzo rwibanze. Bitandukanye na animasiyo yinjira mubisanzwe iva muri reta ijya mubindi, animasiyo ikomeza igomba guhindurwa cyane mumyitwarire yabo. Muganga Buri mushinga usa nkukoresha animasiyo nyinshi. Bamwe bazunguruka ku isaha, abandi bazenguruka amasaha. Bamwe bakora dogere imwe ya dogere 360, abandi bakora impinduka nyinshi kugirango bigerweho vuba. Aho gukora urufunguzo rwihariye kuri buri gutandukana, reka twubake uruziga rumwe rukora ibintu byose:

/ * * Kuzunguruka - animasiyo yo kuzunguruka * Koresha --kf-kuzunguruka-kuva na --kf-kuzunguruka kugirango ugenzure urwego * Koresha --kf-kuzunguruka kugirango ugenzure umubare wizunguruka * Default: izunguruka kuva 0deg ikagera kuri 360deg (1 kuzunguruka) * Ikoreshwa: * animasiyo: kf-kuzunguruka 1s umurongo utagira iherezo; * --kf-kuzunguruka: 2; // 2 kuzunguruka byuzuye * --kf-kuzunguruka-kuva: 0deg; --kf-kuzunguruka-kuri: 180deg; // kuzenguruka igice * --kf-kuzunguruka-kuva: 0deg; --kf-kuzunguruka-kuri: -360deg; // amasaha y'isaha * /

@keyframes kf-spin { Kuva { kuzunguruka: var (- kf-kuzunguruka-kuva, 0deg); } Kuri { kuzunguruka: kubara (var (- kf-kuzunguruka-kuva, 0deg) + var (- kf-kuzunguruka-kuri, 360deg) * var (- kf-kuzunguruka, 1)); } }

Noneho turashobora gukora spin spin itandukanye dukunda:

.kuru animasiyo: kf-kuzunguruka 1s umurongo utagira iherezo; / * Koresha isanzwe: izunguruka kuva 0deg kugeza 360deg * / }

.fungura animasiyo: kf-kuzunguruka 1.2s byoroshye-muri-bitagira iherezo; --kf-kuzunguruka: 3; / * 3 kuzunguruka byuzuye kuri buri cyerekezo kuri buri cyiciro* / }

.bikurikira animasiyo: kf-kuzunguruka intambwe 1.5s (8) itagira iherezo; --kf-kuzunguruka-kuri: -360deg; / * amasaha y'isaha * / }

.subtle-wiggle { animasiyo: kf-kuzunguruka 2s byoroshye-hanze-bitagira iherezo; --kf-kuzunguruka-kuva: -16deg; --kf-kuzunguruka-kuri: 32deg; / * wiggle 36 deg: hagati ya -18deg na + 18deg * / }

Reba Ikaramu ya Keyframes Tokens - Demo 5 [forked] na Amit Sheen. Ubwiza bwubu buryo nuko urufunguzo rumwe rukora rwo gupakira ibizunguruka, gushushanya ibishushanyo, ingaruka za wiggle, ndetse na animasiyo igoye cyane. Indwara ya Pulse Pulse animasiyo iroroshye kuko irashobora "pulse" ibintu bitandukanye. Bamwe bahindura umunzani, abandi bahumeka neza, hamwe na pulse ibara ryamabara nkumucyo cyangwa kwiyuzuzamo. Aho gukora urufunguzo rwihariye kuri buri mutungo, turashobora gukora urufunguzo rukorana numutungo uwo ariwo wose wa CSS. Dore urugero rwibanze rwa pulse hamwe nubunini nuburyo bworoshye:

/ * * Pulse - pulsing animasiyo * Koresha --kf-pulse-igipimo-kuva na --kf-pulse-igipimo-kugirango ugenzure igipimo cyurwego * Koresha --kf-pulse-opacity-kuva na --kf-pulse-opacity-kugirango ugenzure intera igaragara * Ibisanzwe: nta pulse (indangagaciro zose 1) * Ikoreshwa: * animasiyo: kf-pulse 2s byoroshye-muri-bitagira ingano bisimburana; * --kf-pulse-igipimo-kuva: 0,95; --kf-pulse-igipimo-kuri: 1.05; // umunzani * --kf-pulse-opacity-kuva: 0.7; --kf-pulse-opacity-kuri: 1; // impanuka * /

@keyframes kf-pulse { Kuva { igipimo: var (- kf-pulse-igipimo-kuva, 1); ububobere: var (- kf-pulse-opacity-kuva, 1); } Kuri { igipimo: var (- kf-pulse-igipimo-kuri, 1); ububobere: var (- kf-pulse-opacity-to, 1); } }

Ibi birema impiswi ihindagurika ishobora kwerekana ibintu byinshi: .guhamagarira ibikorwa { animasiyo: kf-pulse 0,6s itagira ingano; --kf-pulse-opacity-kuva: 0.5; / * impanuka ya pulse * / }

.kumenyesha-akadomo { animasiyo: kf-pulse 0,6s yoroshye-hanze-itagira iherezo; --kf-pulse-igipimo-kuva: 0.9; --kf-pulse-igipimo-kuri: 1.1; / * igipimo cya pulse * / }

.text-kumurika { animasiyo: kf-pulse 1.5s yoroshye-itagira iherezo; --kf-pulse-igipimo-kuva: 0.8; --kf-pulse-opacity-kuva: 0.2; / * umunzani na opacity pulse * / }

Reba Ikaramu ya Keyframes Tokens - Demo 6 [forked] na Amit Sheen. Uru rufunguzo rumwe rwa kf-pulse rushobora gukemura ibintu byose uhereye kubitekerezo byitondewe kugeza kubintu byingenzi bitangaje, byose mugihe byoroshye kubikora. Kworohereza Byiza Kimwe mu bintu bikomeye byerekeranye no gukoresha ibimenyetso bya keyframes nuburyo byoroshye kwagura isomero ryacu rya animasiyo no gutanga ingaruka abaterankunga benshi batakwanga kwandika kuva kera, nka elastique cyangwa bounce. Dore urugero rwibintu byoroshye "bounce" urufunguzo rwerekana ikoresha --kf-bounce-kuva mumitungo yihariye kugirango igenzure uburebure bwo gusimbuka. / * * Bounce - bouncing animasiyo yinjira * Koresha --kf-bounce-kuva kugenzura uburebure bwo gusimbuka * Ibisanzwe: gusimbuka kuva 100vh (hanze ya ecran) * Ikoreshwa: * animasiyo: kf-bounce 3s byoroshye-in; * --kf-bounce-kuva: 200px; // gusimbuka kuva 200px uburebure * /

@keyframes kf-bounce { 0% { guhindura: 0 kubara (var (- kf-bounce-kuva, 100vh) * -1); }

34% { guhindura: 0 kubara (var (- kf-bounce-kuva, 100vh) * -0.4); }

55% { guhindura: 0 kubara (var (- kf-bounce-kuva, 100vh) * -0.2); }

72% { guhindura: 0 kubara (var (- kf-bounce-kuva, 100vh) * -0.1); }

85% { guhindura: 0 kubara (var (- kf-bounce-kuva, 100vh) * -0.05); }

94% { guhindura: 0 kubara (var (- kf-bounce-kuva, 100vh) * -0.025); }

99% { guhindura: 0 kubara (var (- kf-bounce-kuva, 100vh) * -0.0125); }

22%, 45%, 64%, 79%, 90%, 97%, 100% { guhindura: 0 0; animasiyo-igihe-imikorere: koroshya; } }

Animasiyo nka "elastique" irigora cyane kuberako kubara imbere muri urufunguzo. Tugomba gusobanura --kf-elastike-kuva-X na --kf-elastike-kuva-Y ukwayo (byombi ntibigomba), kandi hamwe batwemerera gukora ubwinjiriro bworoshye kuva aho ariho hose kuri ecran.

/ * * Elastike Muri - animasiyo yinjira * Koresha --kf-elastike-kuva-X na --kf-elastike-kuva-Y kugirango ugenzure umwanya wo gutangira * Ibisanzwe: yinjira kuva hagati (0, -100vh) * Ikoreshwa: * animasiyo: kf-elastike-muri 2s byoroshye-muri-byombi; * --kf-elastike-kuva-X: -50px; * --kf-elastike-kuva-Y: -200px; // andika kuva (-50px, -200px) * /

@keyframes kf-yoroheje-muri { 0% { gusobanura: kubara (var (- kf-elastike-kuva-X, -50vw) * 1) kubara (var (- kf-elastique-kuva-Y, 0px) * 1); }

16% { guhindura: kubara (var (- kf-elastike-kuva-X, -50vw) * -0.3227) kubara (var (- kf-elastike-kuva-Y, 0px) * -0.3227); }

28% { guhindura: kubara (var (- kf-elastique-kuva-X, -50vw) * 0.1312)kubara (var (- kf-elastike-kuva-Y, 0px) * 0.1312); }

44% { guhindura: kubara (var (- kf-elastique-kuva-X, -50vw) * -0.0463) kubara (var (- kf-elastike-kuva-Y, 0px) * -0.0463); }

59% { guhindura: kubara (var (- kf-elastike-kuva-X, -50vw) * 0.0164) kubara (var (- kf-elastike-kuva-Y, 0px) * 0.0164); }

73% { guhindura: kubara (var (- kf-elastike-kuva-X, -50vw) * -0.0058) kubara (var (- kf-elastike-kuva-Y, 0px) * -0.0058); }

88% { guhindura: kubara (var (- kf-elastike-kuva-X, -50vw) * 0.0020) kubara (var (- kf-elastike-kuva-Y, 0px) * 0.0020); }

100% { guhindura: 0 0; } }

Ubu buryo bworoshe kongera gukoresha no gutunganya urufunguzo rwibanze rwimishinga yacu, gusa muguhindura umutungo umwe wihariye.

.bounce-na-zoom { animasiyo: kf-bounce 3s byoroshye-in, kf-zoom 3s umurongo; --kf-zoom-kuva: 0; }

.bounce-na-slide { animasiyo-ibice: ongeraho; / * Animasiyo zombi zikoresha ibisobanuro * / animasiyo: kf-bounce 3s byoroshye-in, kf-kunyerera-muri 3s byoroshye; --kf-slide-kuva: -200px; }

.elast-in { animasiyo: kf-elastike-muri 2s byoroshye-muri-byombi; }

Reba Ikaramu ya Keyframes Tokens - Demo 7 [forked] na Amit Sheen. Kugeza aha, twabonye uburyo dushobora guhuza urufunguzo muburyo bwubwenge kandi bunoze. Birumvikana, urashobora gushaka guhindura ibintu kugirango uhuze neza umushinga wawe ukeneye, ariko twasuzumye ingero za animasiyo nyinshi zisanzwe hamwe nibibazo byo gukoresha burimunsi. Kandi hamwe nurufunguzo rwibimenyetso mu mwanya, ubu dufite ibyuma byubaka bikomeye byo gukora animasiyo zihoraho, zishobora gukomeza umushinga wose. Ntibizongera kwigana urufunguzo, ntakibazo kirimo isi yose. Gusa inzira isukuye, yoroshye yo gukemura ibyo dukeneye byose. Ariko ikibazo nyacyo ni iki: Nigute dushobora guhimba izi nyubako hamwe? Gushyira Byose hamwe Twabonye ko guhuza urufunguzo rwibanze ibimenyetso byoroshye. Ntabwo dukeneye ikintu kidasanzwe ariko gusobanura animasiyo yambere, gusobanura iyakabiri, gushiraho impinduka nkuko bikenewe, kandi nibyo. / * Fade muri + slide muri * / .kuri { animasiyo: kf-fade-muri 0.4s, kf-slide-muri 0.4s cubic-bezier (0.34, 1.56, 0.64, 1); --kf-slide-kuva: 0 40px; }

/ * Kwegera muri + gushira muri * / .modal { animasiyo: kf-fade-muri 0.3s, kf-zoom 0.3s cubic-bezier (0.34, 1.56, 0.64, 1); --kf-zoom-kuva: 0.7; --kf-zoom-kuri: 1; }

/ * Shyira muri + pulse * / .menyesha { animasiyo: kf-slide-in 0.5s, kf-pulse 1.2s yoroshye-in-out itagira iherezo; --kf-slide-kuva: -100px 0; --kf-pulse-igipimo-kuva: 0,95; --kf-pulse-igipimo-kuri: 1.05; }

Ihuriro rikora neza kuko buri animasiyo yibanda kumitungo itandukanye: opacite, guhindura (guhindura / igipimo), nibindi. Ariko rimwe na rimwe hariho amakimbirane, kandi dukeneye kumenya impamvu nuburyo bwo kubikemura. Iyo animasiyo ebyiri zigerageza kwerekana imitungo imwe - kurugero, byombi byerekana igipimo cyangwa byombi byerekana imbaraga - ibisubizo ntabwo bizaba ibyo utegereje. Mburabuzi, imwe gusa muri animasiyo ikoreshwa mubyukuri kuri iyo mitungo, niyo yanyuma kurutonde rwa animasiyo. Nibibuza uburyo CSS ikora animasiyo nyinshi kumitungo imwe. Kurugero, ibi ntibizakora nkuko byateganijwe kuko gusa animasiyo ya kf-pulse. .bad-combo { animasiyo: kf-zoom 0.5s imbere, kf-pulse 1.2s itagira ingano; --kf-zoom-kuva: 0.5; --kf-zoom-kuri: 1.2; --kf-pulse-igipimo-kuva: 0.8; --kf-pulse-igipimo-kuri: 1.1; }

Kwiyongera kwa Animation Inzira yoroshye kandi itaziguye yo kuyobora animasiyo nyinshi zigira ingaruka kumitungo imwe nugukoresha imitungo ya animasiyo. Murugero rwanyuma hejuru, animasiyo ya kf-pulse isimbuza animasiyo ya kf-zoom, ntabwo rero tuzabona zoom yambere kandi ntituzabona igipimo giteganijwe kuri 1.2. Mugushiraho animasiyo-guhimba kugirango wongere, tubwira mushakisha guhuza animasiyo zombi. Ibi biduha ibisubizo dushaka. .ibigize-bibiri { animasiyo-ibice: ongeraho; }

Reba Ikaramu ya Keyframes Tokens - Demo 8 [forked] na Amit Sheen. Ubu buryo bukora neza kubibazo byinshi aho dushaka guhuza ingaruka kumitungo imwe. Nibyiza kandi mugihe dukeneye guhuza animasiyo numutungo uhagaze neza. Kurugero, niba dufite ikintu gikoresha imitungo yo guhindura kugirango tuyishyire neza aho dushaka, hanyuma turashaka kuyishushanya hamwe na kf-slide-in-urufunguzo, tubona gusimbuka kugaragara kugaragara nta animasiyo-ihimbye. Reba Ikaramu ya Keyframes Tokens - Demo 9 [forked] na Amit Sheen. Hamwe na animasiyo-igizwe no kongeramo, animasiyo ihujwe neza nibiharihindura, bityo element igume mumwanya kandi ikore animasiyo nkuko byari byitezwe. Animation Stagger Ubundi buryo bwo gukora animasiyo nyinshi ni "ukudandabirana" - ni ukuvuga, tangira animasiyo ya kabiri gato nyuma yambere irangiye. Ntabwo ari igisubizo gikora kuri buri kibazo, ariko ni ingirakamaro mugihe dufite animasiyo yinjira ikurikirwa na animasiyo ikomeza. / * kuzimangana muri + opacite pulse * / .menyesha { animasiyo: kf-gushira-muri 2s byoroshye, kf-pulse 0.5s 2s koroshya-hanze-itagira iherezo; --kf-pulse-opacity-kuri: 0.5; }

Reba Ikaramu ya Keyframes Tokens - Demo 10 [forked] na Amit Sheen. Tegeka Ibintu Igice kinini cya animasiyo dukorana no gukoresha imitungo ihinduka. Mu bihe byinshi, ibi biroroshye cyane. Ifite kandi ibyiza byo gukora nkuko guhindura animasiyo bishobora kwihuta GPU. Ariko niba dukoresha impinduka, dukeneye kwemera ko gahunda dukora muburyo bwo guhindura ibintu bifite akamaro. Byinshi. Muri urufunguzo rwacu kugeza ubu, twakoresheje impinduka kugiti cye. Ukurikije ibisobanuro, buri gihe bikoreshwa muburyo butajegajega: ubanza, ikintu gihinduka, hanyuma kizunguruka, hanyuma igipimo. Ibi birumvikana kandi nibyo benshi muri twe bategereje. Ariko, niba dukoresha ibintu bihindura, gahunda ibikorwa byanditswemo nuburyo bikoreshwa. Muri iki kibazo, niba twimuye ikintu pigiseli 100 kuri X-axis hanyuma tukazunguruka kuri dogere 45, ntabwo ari kimwe no kubanza kuzunguruka kuri dogere 45 hanyuma tukayimura pigiseli 100. / * Umuhondo wijimye: Banza uhindure, hanyuma uzenguruke * / .urugero-imwe { guhindura: guhinduraX (100px) kuzunguruka (45deg); }

/ * Icyatsi kibisi: Banza uzenguruke, hanyuma uhindure * / .urugero-kabiri { guhindura: kuzunguruka (45deg) translateX (100px); }

Reba Ikaramu ya Keyframes Tokens - Demo 11 [forked] na Amit Sheen. Ariko ukurikije gahunda yo guhindura, abantu bose bahindura - buri kintu cyose twakoresheje kumurongo wibanze - kibaho mbere yimikorere yo guhindura. Ibyo bivuze ko ikintu cyose washyizeho mumitungo yo guhindura kizabaho nyuma ya animasiyo. Ariko niba ushyizeho, kurugero, gusobanura hamwe hamwe na kf-spin urufunguzo, ibisobanuro bizaba mbere ya animasiyo. Urujijo nyamara?! Ibi biganisha mubihe aho indangagaciro zihamye zishobora gutera ibisubizo bitandukanye kuri animasiyo imwe, nko mubihe bikurikira:

/ * Animasiyo isanzwe kubizunguruka byombi * / .spinner { animasiyo: kf-kuzunguruka 1s umurongo utagira iherezo; }

/ * Umuhondo wijimye: hindura mbere yo kuzunguruka (guhinduka kugiti cyawe) * / .spinner-pink { guhindura: 100% 50%; }

/ * Icyatsi kibisi: kuzunguruka hanyuma uhindure (imikorere yimikorere) * / .icyatsi-icyatsi { guhindura: guhindura (100%, 50%); }

Reba Ikaramu ya Keyframes Tokens - Demo 12 [forked] na Amit Sheen. Urashobora kubona ko umuzunguruko wa mbere (umutuku) abona ibisobanuro bibaho mbere yo kuzunguruka kf-kuzunguruka, bityo ikabanza kwimukira mukibanza cyayo hanyuma ikazunguruka. Igice cya kabiri kizunguruka (icyatsi) kibona imikorere yo guhindura () ibaho nyuma yumuntu ku giti cye, bityo ikintu cya mbere kizunguruka, hanyuma kigenda ugereranije nu mfuruka yacyo, kandi tubona izo ngaruka nini za orbit. Oya, iyi ntabwo ari amakosa. Nibimwe gusa mubintu dukeneye kumenya kuri CSS kandi tukazirikana mugihe dukorana na animasiyo nyinshi cyangwa impinduka nyinshi. Niba bikenewe, urashobora kandi gukora urutonde rwinyongera rwa kf-spin-alt urufunguzo ruzunguruka ibintu ukoresheje imikorere ya rotate (). Kugabanuka Mugihe mugihe tuvuga ubundi buryo bwibanze, ntidushobora kwirengagiza amahitamo ya "nta animasiyo". Imwe mu nyungu nini zo gukoresha urufunguzo rwibanze ni uko kugerwaho bishobora gutekwa, kandi mubyukuri biroroshye gukora. Mugushushanya urufunguzo rwibanze hamwe nibishoboka mubitekerezo, turashobora kwemeza ko abakoresha bahitamo kugabanya ingendo babona uburambe bworoshye, butarangaza, nta kazi kiyongereye cyangwa kwigana kode. Ubusobanuro nyabwo bwa "Kugabanuka Kwimuka" burashobora guhindura gato kuva kuri animasiyo ikajya mubindi, no kuva kumushinga ujya kumushinga, ariko hano hari ingingo nke zingenzi ugomba kuzirikana: Guhindura urufunguzo Mugihe animasiyo zimwe zishobora koroshya cyangwa gutinda, hariho izindi zigomba kuzimira burundu mugihe hagabanijwe icyifuzo. Pulse animasiyo ni urugero rwiza. Kugirango tumenye neza ko animasiyo idakora muburyo bwagabanutse, turashobora kubizinga mubibazo bikwiye byitangazamakuru.

@media (akunda-kugabanuka-kugenda: nta-ukunda) { @keyfrmaes kf-pulse { Kuva { igipimo: var (- kf-pulse-igipimo-kuva, 1); ububobere: var (- kf-pulse-opacity-kuva, 1); } Kuri { igipimo: var (- kf-pulse-igipimo-kuri, 1); Ubusa:var (- kf-pulse-opacity-to, 1); } } }

Ibi byemeza ko abakoresha bashizeho ibyifuzo-bigabanijwe-kugabanuka kugirango batazabona animasiyo kandi bazabona uburambe buhuye nibyifuzo byabo. Ako kanya Hano hari urufunguzo rudasanzwe ntidushobora gukuraho gusa, nka animasiyo yinjira. Agaciro kagomba guhinduka, kagomba gukora; bitabaye ibyo, ikintu ntikizagira indangagaciro zukuri. Ariko mukugabanuka kwimuka, iyi nzibacyuho kuva agaciro kambere igomba guhita. Kugirango ubigereho, tuzasobanura urutonde rwinyongera rwibanze aho agaciro gasimbuka ako kanya kuri reta yanyuma. Ibi bihinduka urufunguzo rwibanze. Noneho, tuzongeramo urufunguzo rusanzwe imbere mubitangazamakuru kubaza ibyifuzo-byagabanijwe-byerekanwe kuri no-guhitamo, kimwe nurugero rwabanje. / * pop muri ako kanya kugirango igabanye umuvuduko * / @keyframes kf-zoom { Kuva, Kuri { igipimo: var (- kf-zoom-to, 1); } }

@media (akunda-kugabanuka-kugenda: nta-ukunda) { / * Imyandikire yumwimerere yumwimerere * / @keyframes kf-zoom { Kuva { igipimo: var (- kf-zoom-kuva, 0.8); } Kuri { igipimo: var (- kf-zoom-to, 1); } } }

Ubu buryo, abakoresha bahitamo kugabanuka bazabona ibintu bigaragara ako kanya mubihe byanyuma, mugihe abandi bose babona inzibacyuho ya animasiyo. Uburyo bworoshye Hariho aho dushaka kugumya kugenda, ariko byoroshye kandi bituje kuruta animasiyo yumwimerere. Kurugero, turashobora gusimbuza bounce ubwinjiriro bworoheje.

@keyframes kf-bounce { / * Byoroheje bigenda byoroha kugirango bigabanuke * / }

@media (akunda-kugabanuka-kugenda: nta-ukunda) { @keyframes kf-bounce { / * Umwimerere wa bounce urufunguzo * / } }

Noneho, abakoresha bafite umuvuduko muke bashoboye baracyafite imyumvire yo kugaragara, ariko nta kugenda gukomeye kwa bounce cyangwa animasiyo ya elastique. Hamwe nibice byubaka, ikibazo gikurikira nuburyo bwo kubigira mubikorwa byukuri. Kwandika urufunguzo rworoshye ni ikintu kimwe, ariko kubikora byizewe mumushinga munini bisaba ingamba nke nagombaga kwiga inzira igoye. Ingamba zo Gushyira mu bikorwa & Imyitozo myiza Iyo tumaze kugira isomero rikomeye ryibimenyetso bya keyframes, ikibazo nyacyo nuburyo bwo kubizana mubikorwa bya buri munsi.

Ikigeragezo nuguta icyarimwe urufunguzo icyarimwe hanyuma ugatangaza ko ikibazo cyakemutse, ariko mubikorwa nasanze ibisubizo byiza biva muburyo bwo kurera buhoro buhoro. Tangira hamwe na animasiyo isanzwe, nka fade cyangwa slide. Izi nitsinzi yoroshye yerekana agaciro ako kanya udakeneye kwandika binini. Kwita izina ni indi ngingo ikwiye kwitabwaho. Ijambo ryibanze cyangwa izina ryumwanya byerekana neza animasiyo ni ibimenyetso nibisanzwe byaho rimwe. Irinda kandi impanuka zitunguranye kandi ifasha abagize itsinda rishya kumenya sisitemu isangiwe iyo urebye. Inyandiko ningirakamaro kimwe na code ubwayo. Ndetse igitekerezo kigufi hejuru ya buri urufunguzo rwibanze rushobora kubika amasaha yo gukeka nyuma. Iterambere rigomba gushobora gufungura dosiye yerekana ibimenyetso, gusikana ingaruka bakeneye, no gukoporora imikoreshereze igororotse mubice byabo. Guhinduka nibyo bituma ubu buryo bukwiriye imbaraga. Mugushira ahabona ibintu byihariye byigenga, duha amakipe icyumba cyo guhuza animasiyo tutarangije sisitemu. Igihe kimwe, gerageza kutarenza urugero. Tanga ipfundo rifite akamaro kandi ukomeze ibitekerezo. Hanyuma, ibuka kugerwaho. Ntabwo buri animasiyo ikenera kugabanuka kwimikorere, ariko benshi barabikora. Guteka muri ibyo byahinduwe hakiri kare bivuze ko tutagomba na rimwe kubisubiramo nyuma, kandi byerekana urwego rwitaweho abakoresha bacu bazabibona nubwo batigeze babivuga.

Mubunararibonye bwanjye, gufata ibimenyetso byingenzi nkibice bigize igishushanyo mbonera cyibikorwa byacu nibyo bituma bakomera. Iyo zimaze kuba, zihagarika kumva nkingaruka zidasanzwe hanyuma zikaba igice cyururimi rwashushanyije, kwaguka bisanzwe muburyo ibicuruzwa bigenda kandi bigasubiza. Gupfunyika Animasiyo irashobora kuba kimwe mubice bishimishije byubaka intera, ariko idafite imiterere, irashobora kandi kuba imwe mumasoko akomeye yo gucika intege. Mugihe ufata urufunguzo nkibimenyetso, ufata ikintu gisanzwe kirimo akajagari kandi kigoye gucunga no kugihindura sisitemu isobanutse, iteganijwe. Agaciro nyako ntabwo ari mukuzigama imirongo mike ya code. Nukwizera ko mugihe ukoresheje fade, slide, zoom, cyangwa spin, uzi neza uko izitwara mumushinga. Nibintu byoroshye biva mubintu byabigenewe nta kajagari ko gutandukana kutagira iherezo. Kandi ni muburyo bworoshye bwubatswe muri fondasiyo aho kongerwaho nkukonyuma yo gutekereza. Nabonye ibi bitekerezo bikora mumakipe atandukanye hamwe na codebase zitandukanye, kandi icyitegererezo gihora ari kimwe. Ibimenyetso bimaze kuba, urufunguzo rureka kuba ikusanyirizo ryamayeri kandi bigahinduka ururimi rwashushanyije. Bituma ibicuruzwa byunvikana nkana, bihamye, kandi bizima. Niba ufashe ikintu kimwe muriyi ngingo, reka bibe ibi: animasiyo ikwiye kwitabwaho hamwe nuburyo dusanzwe duha amabara, imashini yandika, hamwe nintera. Ishoramari rito muri keyframes tokens yishura buri gihe interineti yawe yimutse.

You May Also Like

Enjoyed This Article?

Get weekly tips on growing your audience and monetizing your content — straight to your inbox.

No spam. Join 138,000+ creators. Unsubscribe anytime.

Create Your Free Bio Page

Join 138,000+ creators on Seemless.

Get Started Free