Fungidzira izvi: iwe unojoinha chirongwa chitsva, nyura mucodebase, uye mukati memaawa mashoma ekutanga, iwe unowana chimwe chinhu chinoshungurudza chaunoziva. Yakapararira mukati memasitaera ese, iwe unowana akawanda @keyframes tsananguro dzeamwechete akakosha animations. Zvitatu zvakasiyana-siyana zvinopera-mumhedzisiro, masiraidhi maviri kana matatu akasiyana, mashoma emifananidzo ye zoom, uye kanenge maviri akasiyana spin animations nekuti, zvakanaka, nei? @keyframes kurova { kubva ku{ chikero: 1; } ku{ chikero: 1.1; } }
@keyframes hombe-kupuruzira { 0%, 20%, 100% { chikero: 1; } 10%, 40% { chikero: 1.2; } }
Kana chiitiko ichi chichiita sechinozivikanwa, hausi wega. Mune ruzivo rwangu mumapurojekiti akasiyana-siyana, imwe yeanonyanya kuhwina anokurumidza kuhwina yandinogona kuunza kubatanidza uye kumisa makiyi makiyi. Yakave maitiro akavimbika zvekuti ini zvino ndinotarisira kucheneswa uku serimwe remabasa angu ekutanga pane chero nyowani codebase. The Logic Kuseri Kwenyonganyonga Iyi redundancy ine musoro wakakwana kana iwe uchifunga nezvazvo. Tese tinoshandisa zvakafanana animations mubasa redu rezuva nezuva: fade, masiraidhi, zooms, spins, uye zvimwe zvinowanzoitika. Aya ma animation akatwasanuka, uye zviri nyore kurova nekukurumidza @keyframes tsananguro kuti basa riitwe. Pasina yepakati animation system, vanogadzira vanongonyora aya makiyi makiyi kubva kutanga, vasingazive kuti akafanana animations atovepo kune imwe nzvimbo mucodebase. Izvi zvinonyanya kuitika kana uchishanda muzvikamu-zvakavakirwa zvivakwa (izvo vazhinji vedu vanoita mazuva ano), sezvo zvikwata zvinowanzo shanda zvakafanana munzvimbo dzakasiyana dzekushandisa. Zvakaguma nei? Animation chaos. Dambudziko Diki Idzo dzinonyanya kujeka nyaya dzine keyframes kudzokorodza kutambisa nguva yekuvandudza uye zvisina basa kodhi bloat. Multiple keyframe tsananguro zvinoreva nzvimbo dzakawanda dzekuvandudza kana zvinodiwa zvachinja. Unoda kugadzirisa nguva yako fade animation? Iwe unozofanirwa kuvhima chiitiko chese pane yako codebase. Unoda kumisikidza kurerutsa mabasa? Rombo rakanaka kuwana zvese zvakasiyana. Uku kuwanda kwemapoinzi ekugadzirisa kunoita kunyange akareruka animation inogadziridza basa rinotora nguva. Dambudziko Rakakura Uku kudzokororwa kwemakiyi kunogadzira dambudziko rakanyanyisa kuhwanda pasi pedenga: musungo wepasi rose. Kunyangwe kana uchishanda nechikamu-based architectures, CSS keyframes inogara ichitsanangurwa muchikamu chepasi rose. Izvi zvinoreva kuti ese makiyi maframes anoshanda kune ese mazvikamu. Nguva dzose. Ehe, animation yako haingo shandise makiyi maframes awakatsanangura muchikamu chako. Inoshandisa ekupedzisira makiyi makiyi anofanana neiro zita chairo iro rakaiswa muchikamu chepasi rose. Chero bedzi makiyi ako makiyi akafanana, izvi zvingaite sechinhu chidiki. Asi iyo nguva yaunoda kugadzirisa animation yeimwe nyaya yekushandisa, iwe uri mudambudziko, kana zvakanyanya, iwe ndiwe unovakonzera. Pamwe animation yako haishande nekuti chimwe chikamu chakaremerwa mushure mechako, kunyora makiyi makiyi, kana chikamu chako chinoremerwa chekupedzisira uye netsaona chinochinja maitiro eanimation kune chimwe chinhu chinoshandisa zita rekiyi, uye ungasatombozviziva. Heino muenzaniso wakapfava unoratidza dambudziko: .component-one { /* zvikamu zvitaera */ animation: pulse 1s nyore-in-out kusingaperi alternate; }
/* iyi @keyframes tsananguro haishande */ @keyframes kurova { kubva ku{ chikero: 1; } ku{ chikero: 1.1; } }
/* gare gare mune kodhi ... */
.component-two { /* zvikamu zvitaera */ animation: pulse 1s nyore-in-out kusingaperi; }
/* aya makiyi makiyi achashanda kune ese ari maviri zvikamu */ @keyframes kurova { 0%, 20%, 100% { chikero: 1; } 10%, 40% { chikero: 1.2; } }
Zvese zviri zviviri zvinoshandisa zita rimwechete remupopayi, asi yechipiri @keyframes tsananguro inodarika yekutanga. Ikozvino zvese zviri zviviri chikamu-chimwe uye chikamu-mbiri zvichashandisa yechipiri keyframes, zvisinei kuti ndeipi chikamu chinotsanangura makiyi makiyi. Ona iyo Pen Keyframes Tokens - Demo 1 [yakaforogo] naAmit Sheen. Chikamu chakaipisisa? Izvi zvinowanzo shanda zvakakwana mukusimudzira kwenzvimbo asi zvinoputsika zvisinganzwisisike mukugadzira kana maitiro ekuvaka achichinja kurodha kurongeka kwemashiti ako. Unopedzisira wava nemaanimation anoita zvakasiyana zvichienderana nekuti ndezvipi zvikamu zvakatakurwa uye munhevedzano ipi. Mhinduro: Akabatana Keyframes Mhinduro kune iyi nyonganiso iri nyore zvinoshamisa: yakafanotsanangurwa makiyi makiyi akachengetwa mune yakagovaniswa stylesheet. Panzvimbo yekurega chimwe nechimwe chikamu chichitsanangura mapikicha acho, isu tinogadzira epakati makiyi makiyi akanyorwa zvakanaka, ari nyore kuita.shandisa, inochengeteka, uye yakarongedzerwa kune chaiyo inodiwa yeprojekiti yako. Funga nezvayo sekiyi makiyi tokeni. Sekushandisa kwatinoita matokeni emavara uye nzvimbo, uye vazhinji vedu tatoshandisa tokens yeanimation zvivakwa, senge nguva uye kurerutsa mabasa, wadii kushandisa makiyi emafuremu zvakare? Iyi nzira inogona kubatanidza zvakasikwa nechero yazvino dhizaini yedhizaini yekufambiswa kwauri kushandisa, uchigadzirisa ese ari maviri dambudziko diki (kudzokorodza kodhi) uye dambudziko hombe (kunetsana kwepasi rose) mune imwe kuenda. Pfungwa yacho yakatwasuka: gadzira sosi imwe chete yechokwadi kune ese animations edu akajairika. Iri pepa rekuita rakagovaniswa rine zvakanyatsogadzirwa makiyi makiyi anovhara iwo animation mapatani anoshandiswa nepurojekiti yedu. Hapasisina kufungidzira kuti fade animation yatovepo pane imwe nzvimbo mucodebase yedu. Hapasisina netsaona kunyora animations kubva kune zvimwe zvikamu. Asi heino kiyi: idzi hadzisi chete static kopi-namira mifananidzo. Iwo akagadzirwa kuti ave ane simba uye anogoneka kuburikidza neCSS tsika zvivakwa, zvichitibvumira kuchengetedza kuenderana tichiri neshanduko yekuchinja mifananidzo kune chaiwo ekushandisa kesi, sekunge iwe uchida yakakura zvishoma "pulse" animation munzvimbo imwechete. Kuvaka Yekutanga Keyframes Token Imwe yemichero yekutanga yakarembera yatinofanira kubata ndeye "fade-in" animation. Mune imwe yemapurojekiti angu achangoburwa, ndakawana anopfuura gumi nemaviri akapatsanurwa fade-mune tsananguro, uye hongu, iwo ese aingo ratidza opacity kubva 0 kusvika 1. Saka, ngatigadzire pepa idzva remataera, tidaidze kf-tokens.css, tipinze mupurojekiti yedu, uye tiise makiyi mafiremu nemhinduro dzakakodzera mukati maro. /* keyframes-tokens.css */
/* * Fade In - fade yekupinda animation * Kushandisa: animation: kf-fade-mu 0.3s nyore-kunze; */ @keyframes kf-fade-in { kubva ku{ opacity: 0; } ku{ opacity: 1; } }
Ichi chiziviso chimwechete @keyframes chinotsiva ese akapararira-mune animations pane yedu codebase. Zvakachena, zviri nyore, uye zvinoshanda pasi rose. Uye zvino zvatine chiratidzo ichi chakatsanangurwa, tinogona kuishandisa kubva kune chero chikamu muchirongwa chedu: .modal { animation: kf-fade-in 0.3s nyore-kunze; }
.tooltip { animation: kf-fade-in 0.2s nyore-mukati-kunze; }
.ziviso { animation: kf-fade-in 0.5s nyore-kunze; }
Ona iyo Pen Keyframes Tokens - Demo 2 [yakafukidzwa] naAmit Sheen. Cherechedza: Isu tiri kushandisa kf- prefix mumazita edu ese @keyframes. Iyi prefix inoshanda senzvimbo yezita iyo inodzivirira kutumidza kupokana nemaanimation aripo mupurojekiti uye inoita kuti zvive pachena kuti aya makiyi makiyi anobva kune yedu keyframes tokens faira. Kuita Dynamic Slide Iyo kf-fade-in keyframes inoshanda zvakanyanya nekuti iri nyore uye pane diki nzvimbo yekukanganisa zvinhu. Mune mamwe animations, zvakadaro, isu tinofanirwa kuve tine simba rakawanda, uye pano tinogona kukwidziridza simba rakakura reCSS tsika zvivakwa. Apa ndipo panonyatso penya makiyi makiyi zvichienzaniswa neakapararira static animations. Ngatitorei mamiriro akafanana: "slide-in" mifananidzo. Asi slide mukati kubva kupi? 100px kubva kurudyi? 50% kubva kuruboshwe? Inofanira kupinda kubva kumusoro kwechidzitiro here? Kana kuti pamwe kuyangarara kubva pasi? Zvakawanda zvinogoneka, asi pachinzvimbo chekugadzira akaparadzana makiyi makiyi egwaro rega rega uye musiyano wega wega, isu tinogona kuvaka imwe inochinjika tokeni inochinjika kune ese mamiriro: /* * Slide Mu - inotungamira inotsvedza animation * Shandisa --kf-slide-kubva kudzora nzira * Default: masiraidhi mukati kubva kuruboshwe (-100%) * Kushandiswa: * animation: kf-slide-mu 0.3s nyore-kunze; * --kf-slide-kubva: -100px 0; // slide kubva kuruboshwe * --kf-slide-kubva: 100px 0; // tsvedza kubva kurudyi * --kf-slide-kubva: 0 -50px; // slide kubva kumusoro */
@keyframes kf-slide-in { kubva ku{ translate: var(--kf-slide-from, -100% 0); } ku{ shandura: 0 0; } }
Ikozvino isu tinogona kushandisa iyi imwechete @keyframes tokeni kune chero slide nzira nekungochinja iyo --kf-slide-kubva kutsika tsika: .sidebar { animation: kf-slide-in 0.3s nyore-kunze; /* Inoshandisa default kukosha: masiraidhi kubva kuruboshwe */ }
.ziviso { animation: kf-slide-in 0.4s nyore-kunze; --kf-slide-kubva: 0 -50px; /* tsvedza kubva kumusoro */ }
.modal { animation: kf-fade-mu 0.5s, kf-slide-mu 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); --kf-slide-kubva: 50px 50px; /* tsvedza kubva pasi-kurudyi */ }
Iyi nzira inotipa kuchinjika kusingadaviriki tichichengeta kuenderana. Imwe keyframe declaration, zvisingaperi zvingangoitika. Ona iyo Pen Keyframes Tokens - Demo 3 [yakaforogo] naAmit Sheen. Uye kana tichida kuita kuti mifananidzo yedu iwedzere kushanduka, ichibvumira "slide-out" mhedzisiro zvakare, tinogonaingo wedzera --kf-slide-kunzvimbo yetsika, yakafanana nezvatichaona muchikamu chinotevera. Bidirectional Zoom Keyframes Imwe animation yakajairika inodzokororwa pamapurojekiti ese "zoom" mhedzisiro. Kungave kusinganzwisisike kuyera-kumusoro kwemameseji etoast, inoshamisa zoom-in ye modals, kana zvinyoro zvinyoro-kudzika mhedzisiro yemisoro, zoom animations ari kwese kwese. Panzvimbo pekugadzira makiyi makiyi akapatsanurwa kune yega yega kukosha, ngativake imwe inochinjika seti ye kf-zoom keyframes:
/* * Zoom - chiyero animation * Shandisa --kf-zoom-kubva uye --kf-zoom-kuti udzore zviyero * Default: zooms kubva pa80% kusvika 100% (0.8 kusvika 1) * Kushandiswa: * animation: kf-zoom 0.2s nyore-kunze; * --kf-zoom-kubva: 0.5; --kf-zoom-ku: 1; // zoom kubva pa50% kusvika ku100% * --kf-zoom-kubva: 1; --kf-zoom-ku: 0; // zoom kubva ku100% kusvika ku0% * --kf-zoom-kubva: 1; --kf-zoom-ku: 1.1; // zoom kubva ku100% kusvika ku110% */
@keyframes kf-zoom { kubva ku{ chikero: var(--kf-zoom-kubva, 0.8); } ku{ chikero: var(--kf-zoom-to, 1); } }
Netsanangudzo imwe chete, tinogona kuwana chero mutsauko we zoom watinoda: .tositi { animation: kf-slide-in 0.2s, kf-zoom 0.4s nyore-kunze; --kf-slide-kubva: 0 100%; /* tsvedza kubva kumusoro */ /* Inoshandisa default zoom: zviyero kubva pa80% kusvika 100% */ }
.modal { animation: kf-zoom 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); --kf-zoom-kubva: 0; /* inoshamisa zoom kubva ku0% kusvika ku100% */ }
.heading { animation: kf-fade-muna 2s, kf-zoom 2s nyore-mukati; --kf-zoom-kubva: 1.2; --kf-zoom-ku: 0.8; /* zvinyoro zvinyoro pasi */ }
Iyo default ye0.8 (80%) inoshanda zvakakwana kune akawanda maUI zvinhu, senge toast meseji nemakadhi, ichiri nyore kugadzirisa kune yakakosha kesi. Ona iyo Pen Keyframes Tokens - Demo 4 [yakaforogo] naAmit Sheen. Unogona kunge waona chimwe chinhu chinonakidza mumienzaniso ichangoburwa: tanga tichibatanidza mifananidzo. Imwe yemabhenefiti akakosha ekushanda ne @keyframes tokens ndeyekuti ivo vakagadzirirwa kubatanidza zvisina musono kune mumwe nemumwe. Kuumbwa kwakatsetseka uku ndekweune, kwete netsaona. Tichakurukura kuumbwa kweanimation mune zvakadzama gare gare, kusanganisira kwaanogona kunetsa, asi mazhinji masanganiswa akatwasuka uye ari nyore kuita. Ongorora: Ndichiri kunyora chinyorwa ichi, uye pamwe nekuda kwekuchinyora, ndakazviona ndave kufunga zvakare zano rese rekupinda mifananidzo. Nekufambira mberi kwese kwazvino muCSS, tichiri kuzvida zvachose? Sezvineiwo, Adam Argyle akaongorora mibvunzo mimwecheteyo ndokuiratidza zvine hungwaru mublog rake. Izvi hazvipokane nezvakanyorwa pano, asi zvinopa nzira yakakodzera kutariswa, kunyanya kana mapurojekiti ako achitsamira zvakanyanya pamifananidzo yekupinda. Continuous Animations Nepo ma animation epakupinda, senge “fade”, “slide”, uye “zoom” anoitika kamwe chete obva amira, animations anoenderera mberi anotenderera nekusingaperi kuti akwezve vanhu kana kuratidza chiitiko chirikuitika. Iwo maviri akajairika anoenderera emifananidzo andinosangana nawo ndee "spin" (yekurodha zviratidzo) uye "pulse" (yekuburitsa zvakakosha zvinhu). Aya animations anopa akasiyana matambudziko kana zvasvika pakugadzira keyframes tokens. Kusiyana nemifananidzo yekupinda iyo inowanzo famba kubva kune imwe nyika kuenda kune imwe, inoenderera animations inofanirwa kuve yakagadzirika zvakanyanya mumafambiro avo. The Spin Doctor Yese purojekiti inoita kunge inoshandisa akawanda spin animations. Vamwe vanotenderera newachi, vamwe vachipesana newachi. Vamwe vanoita imwe 360-degree kutenderera, vamwe vanoita majana akawanda ekukurumidza kuita. Panzvimbo pekugadzira akasiyana makiyi makiyi ekusiyana kwega kwega, ngativake imwe inochinjika spin inobata ese mamiriro:
/* * Spin - kutenderera animation * Shandisa --kf-spin-kubva uye --kf-spin-kuti udzore kutenderera kwemhando * Shandisa --kf-spin-turns kudzora huwandu hwekutenderera * Default: inotenderera kubva 0deg kusvika 360deg (1 yakazara kutenderera) * Kushandiswa: * animation: kf-spin 1s mutsara usingagumi; * --kf-spin-turns: 2; // 2 kutenderera kwakazara * --kf-spin-kubva: 0deg; --kf-spin-ku: 180deg; // hafu kutenderera * --kf-spin-kubva: 0deg; --kf-spin-ku: -360deg; // counterclockwise */
@keyframes kf-spin { kubva ku{ tenderera: var(--kf-spin-from, 0deg); } ku{ tenderera: calc(var(--kf-spin-from, 0deg) + var(--kf-spin-to, 360deg) * var(--kf-spin-turns, 1)); } }
Iye zvino isu tinokwanisa kugadzira chero spin mutsauko watinoda:
.loading-spinner { animation: kf-spin 1s linear risingaperi; / * Inoshandisa default: inotenderera kubva 0deg kusvika 360deg */ }
.fast-loader { animation: kf-spin 1.2s kurerutsira-mu-kunze kusingaperi alternate; --kf-spin-turns: 3; /* 3 kutenderera kwakazara kune yega yega nzira kutenderera*/ }
.steped-reverse { animation: kf-spin 1.5s nhanho(8) isingaperi; --kf-spin-ku: -360deg; /* counterclockwise */ }
.subtle-wiggle { animation: kf-spin 2s yase-in-out kusingaperi alternate; --kf-spin-kubva: -16deg; --kf-spin-ku: 32deg; /* wiggle 36 deg: pakati -18deg uye +18deg */ }
Ona iyo Pen Keyframes Tokens - Demo 5 [yakafukidzwa] naAmit Sheen. Runako rweiyi nzira nderekuti iwo makiyi makiyi anoshanda kurodha maspinner, anotenderera ma icons, wiggle mhedzisiro, uye kunyange yakaoma multi-turn animations. The Pulse Paradox Pulse animations ane tricker nekuti anogona "pulse" akasiyana zvivakwa. Vamwe vanopuruzira chikero, vamwe vanopuruzira iyo opacity, uye mamwe mavara eruvara senge kupenya kana kuzara. Panzvimbo pekugadzira makiyi makiyi enzvimbo yega yega, tinogona kugadzira makiyi makiyi anoshanda nechero CSS pfuma. Heino muenzaniso wepulse keyframe ine chiyero uye opacity sarudzo:
/* * Pulse - kupuruzira animation * Shandisa --kf-pulse-scale-kubva uye -kf-pulse-scale-kuti udzore chiyero * Shandisa --kf-pulse-opacity-kubva uye --kf-pulse-opacity-to kudzora opacity range * Default: hapana pulse (zvese kukosha 1) * Kushandiswa: * animation: kf-pulse 2s yase-in-out isingaperi imwe nzira; * --kf-pulse-scale-kubva: 0.95; --kf-pulse-scale-ku: 1.05; // scale pulse * --kf-pulse-opacity-kubva: 0.7; --kf-pulse-opacity-ku: 1; // Opacity pulse */
@keyframes kf-pulse { kubva ku{ chikero: var(--kf-pulse-scale-from, 1); opacity: var(--kf-pulse-opacity-from, 1); } ku{ chikero: var(--kf-pulse-scale-to, 1); opacity: var(--kf-pulse-opacity-to, 1); } }
Izvi zvinogadzira inoshanduka pulse iyo inogona kusimudzira akawanda zvivakwa: .kudaidza-kuita-{ animation: kf-pulse 0.6s isingaperi alternate; --kf-pulse-opacity-kubva: 0.5; /* opacity pulse */ }
.notification-dot { animation: kf-pulse 0.6s yase-in-out kusingaperi alternate; --kf-pulse-scale-kubva: 0.9; --kf-pulse-scale-ku: 1.1; /* muyero kurova */ }
.text-highlight { animation: kf-pulse 1.5s kurerutsira-kunze kusingaperi; --kf-pulse-scale-kubva: 0.8; --kf-pulse-opacity-kubva: 0.2; /* chiyero uye opacity pulse */ }
Ona iyo Pen Keyframes Tokens - Demo 6 [yaforogo] naAmit Sheen. Iyi imwe chete kf-pulse keyframe inokwanisa kubata zvese kubva kusinganzwisisike kubata kusvika kune zvinoshamisa makisimusi, zvese zviri nyore kugadzirisa. Advanced Easing Chimwe chezvinhu zvikuru pamusoro pekushandisa keyframes tokens ndezvekuti zviri nyore sei kuwedzera raibhurari yedu yeanimation uye nekupa mhedzisiro iyo vazhinji vanogadzira vaisazonetseka kunyora kubva kutanga, se elastic kana bounce. Heino muenzaniso weakareruka "bounce" keyframes token inoshandisa --kf-bounce-kubva kutsika pfuma kudzora kusvetuka kureba. /* * Bounce - kusvetuka kwekupinda animation * Shandisa --kf-bounce-kubva kudzora kusvetuka kureba * Default: kusvetuka kubva ku100vh (kureba skrini) * Kushandiswa: * animation: kf-bounce 3s nyore-mukati; * --kf-bounce-kubva: 200px; // svetuka kubva pa200px kureba */
@keyframes kf-bounce { 0% { shandura: 0 calc(var(--kf-bounce-from, 100vh) * -1); }
34% { shandura: 0 calc(var(--kf-bounce-from, 100vh) * -0.4); }
55% { shandura: 0 calc(var(--kf-bounce-from, 100vh) * -0.2); }
72% { shandura: 0 calc(var(--kf-bounce-from, 100vh) * -0.1); }
85% { shandura: 0 calc(var(--kf-bounce-from, 100vh) * -0.05); }
94% { shandura: 0 calc(var(--kf-bounce-from, 100vh) * -0.025); }
99% { shandura: 0 calc(var(--kf-bounce-from, 100vh) * -0.0125); }
22%, 45%, 64%, 79%, 90%, 97%, 100% { shandura: 0 0; animation-nguva-basa: nyore-kunze; } }
Animations se "elastic" akati trickier nekuda kwekuverenga mukati mekiyi maframes. Isu tinofanirwa kutsanangura --kf-elastic-kubva-X uye --kf-elastic-kubva-Y zvakasiyana (zvese zviri zvekusarudza), uye pamwechete vanotitendera kuti tigadzire yekupinda elastic kubva chero nzvimbo pachiratidziri.
/* * Elastic In - elastic yekupinda animation * Shandisa --kf-elastic-kubva-X uye --kf-elastic-kubva-Y kudzora nzvimbo yekutanga * Default: inopinda kubva kumusoro pakati (0, -100vh) * Kushandiswa: * animation: kf-elastic-mu 2s nyore-mukati-kunze zvese; * --kf-elastic-kubva-X: -50px; * --kf-elastic-kubva-Y: -200px; // pinda kubva (-50px, -200px) */
@keyframes kf-elastic-in { 0% { shandura: calc(var(--kf-elastic-from-X, -50vw) * 1) calc(var(--kf-elastic-from-Y, 0px) * 1); }
16% { shandura: calc(var(--kf-elastic-from-X, -50vw) * -0.3227) calc(var(--kf-elastic-from-Y, 0px) * -0.3227); }
28% { shandura: calc(var(--kf-elastic-from-X, -50vw) * 0.1312)calc(var(--kf-elastic-kubva-Y, 0px) * 0.1312); }
44% { shandura: calc(var(--kf-elastic-from-X, -50vw) * -0.0463) calc(var(--kf-elastic-from-Y, 0px) * -0.0463); }
59% { shandura: calc(var(--kf-elastic-from-X, -50vw) * 0.0164) calc(var(--kf-elastic-from-Y, 0px) * 0.0164); }
73% { shandura: calc(var(--kf-elastic-from-X, -50vw) * -0.0058) calc(var(--kf-elastic-from-Y, 0px) * -0.0058); }
88% { shandura: calc(var(--kf-elastic-from-X, -50vw) * 0.0020) calc(var(--kf-elastic-from-Y, 0px) * 0.0020); }
100% { shandura: 0 0; } }
Iyi nzira inoita kuti zvive nyore kushandisa zvakare uye kugadzirisa epamberi makiyi makiyi mupurojekiti yedu, nekungoshandura chivakwa chimwe chete.
.bounce-and-zoom { animation: kf-bounce 3s nyore-mukati, kf-zoom 3s mutsetse; --kf-zoom-kubva: 0; }
.bounce-and-slide { animation-composition: wedzera; /* Mapikicha ese ari maviri anoshandisa dudziro */ animation: kf-bounce 3s nyore-mukati, kf-slide-in 3s nyore-kunze; --kf-slide-kubva: -200px; }
.elastic-in { animation: kf-elastic-in 2s nyore-mukati-kunze zvese; }
Ona iyo Pen Keyframes Tokens - Demo 7 [yaforogo] naAmit Sheen. Kusvika panguva ino, taona kuti tingabatanidza sei makiyi makiyi nenzira yakangwara uye inoshanda. Ehe, ungangoda kugadzirisa zvinhu kuti zvikwane zvirinani zvinodiwa neprojekiti yako, asi isu takafukidza mienzaniso yeakawanda akajairwa animations uye mazuva ese ekushandisa. Uye neaya makiyi makiyi tokeni ari munzvimbo, isu tave nemabhuroko ekuvaka ane simba ekugadzira anowirirana, anochengeteka animation mupurojekiti yese. Hapasisina makiyi makiyi akadhindwa, hapasisina kupokana kwepasi rose. Ingori yakachena, nzira iri nyore yekubata zvese zvatinoda zvemaanimation. Asi mubvunzo chaiwo ndewokuti: Tinonyora sei matombo aya ekuvaka pamwe chete? Kuzvibatanidza Zvose Isu takaona kuti kusanganisa ekutanga keyframes tokens iri nyore. Hatidi chero chinhu chakakosha asi kutsanangura yekutanga animation, tsanangura yechipiri, isa zvinosiyanisa sezvinodiwa, uye ndizvozvo. /* Fade mu + slide mu */ .tositi { animation: kf-fade-mu 0.4s, kf-slide-mu 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); --kf-slide-kubva: 0 40px; }
/* Zoom in + kupera mukati */ .modal { animation: kf-fade-mu 0.3s, kf-zoom 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); --kf-zoom-kubva: 0.7; --kf-zoom-ku: 1; }
/* Slide mukati + kupomba */ .ziviso { animation: kf-slide-mu 0.5s, kf-pulse 1.2s kurerutsa-mukati-kunze kusingaperi alternate; --kf-slide-kubva: -100px 0; --kf-pulse-scale-kubva: 0.95; --kf-pulse-scale-ku: 1.05; }
Misanganiswa iyi inoshanda zvinoyevedza nekuti imwe neimwe animation yakanangana nechinhu chakasiyana: opacity, shandura (turikira/chiyero), zvichingodaro. Asi dzimwe nguva pane kusawirirana, uye tinoda kuziva kuti sei uye sei togadzirisa nazvo. Kana maanimation maviri achiedza kuita kuti chivakwa chimwe chete chive chipenyu - semuenzaniso, ese ari maviri chikero chinorarama kana ese ari maviri animating opacity - mhedzisiro haizove yaunotarisira. Nekumisikidza, imwe chete yemifananidzo ndiyo inonyanya kuiswa kune icho chivakwa, chinova chekupedzisira mune animation list. Ichi chidziviso chekuti CSS inobata sei akawanda animation pachinhu chimwe chete. Semuenzaniso, izvi hazvishande sezvakarongwa nekuti chete kf-pulse animation ndiyo ichashanda. .bad-combo { animation: kf-zoom 0.5s kumberi, kf-pulse 1.2s isingaperi alternate; --kf-zoom-kubva: 0.5; --kf-zoom-ku: 1.2; --kf-pulse-scale-kubva: 0.8; --kf-pulse-scale-ku: 1.1; }
Animation Addition Iyo yakapusa uye yakatwasuka nzira yekubata akawanda animations inobata chivakwa chimwe chete ndeye kushandisa animation-composition pfuma. Mumuenzaniso wekupedzisira uri pamusoro, iyo kf-pulse animation inotsiva kf-zoom animation, saka hatizooni yekutanga zoom uye hatizowana chikero chinotarisirwa kusvika pa1.2. Nekuseta iyo animation-composition yekuwedzera, tinoudza browser kuti ibatanidze ese maanimation. Izvi zvinotipa mhedzisiro yatinoda. .component-two { animation-composition: wedzera; }
Ona iyo Pen Keyframes Tokens - Demo 8 [yakaforogo] naAmit Sheen. Iyi nzira inoshanda nemazvo kune mazhinji kesi apo isu tinoda kusanganisa mhedzisiro pane imwechete pfuma. Zvinobatsirawo kana tichida kubatanidza maanimation ane static property values. Semuyenzaniso, kana tiine chinhu chinoshandisa chivakwa cheshanduro kuchimisa patinenge tichida, tobva tada kuita kuti chirarame ne kf-slide-in keyframes, tinowana kusvetuka kwakashata kunooneka pasina animation-composition. Ona iyo Pen Keyframes Tokens - Demo 9 [yakaforogo] naAmit Sheen. Iine animation-composition yakaiswa kuti uwedzere, iyo animation inosanganiswa zvakanaka neiyo iriposhandura, saka chinhu chinoramba chiri panzvimbo uye chinorarama sezvanga zvichitarisirwa. Animation Stagger Imwe nzira yekubata akawanda animation ndeye "kudzedzereka" - ndiko kuti, tanga yechipiri animation zvishoma mushure mekunge yekutanga yapera. Haisi mhinduro inoshanda kune yese nyaya, asi inobatsira kana isu tine yekupinda animation inoteverwa neinoenderera mberi animation. /* kupera mu + opacity pulse */ .ziviso { animation: kf-fade-in 2s nyore-kunze, kf-pulse 0.5s 2s kurerutsa-mu-kunze kusingaperi alternate; --kf-pulse-opacity-ku: 0.5; }
Ona iyo Pen Keyframes Tokens - Demo 10 [yaforogo] naAmit Sheen. Order Matters Chikamu chikuru chemaanimation atinoshanda nawo anoshandisa shanduko yepfuma. Kazhinji, izvi zviri nyore nyore. Iyo zvakare ine mukana wekuita sezvo shanduko yemifananidzo inogona kuve GPU-inokwidziridzwa. Asi kana tikashandisa shanduko, tinofanira kubvuma kuti kurongeka kwatinoita shanduko dzedu kunokosha. Zvakawanda. Mune edu makiyi makiyi kusvika parizvino, takashandisa shanduko yega yega. Zvinoenderana neiyo specs, izvi zvinogara zvichishandiswa muhurongwa hwakagadziriswa: kutanga, chinhu chinowana dudziro, wozotenderera, wozoyera. Izvi zvine musoro uye ndizvo zvinotarisirwa nevazhinji vedu. Zvisinei, kana tikashandisa chivako chekushandura, kurongeka kwakanyorwa mabasa ndiko kurongeka kwavanoitwa. Pakadai, kana tikafambisa chinhu 100 pixels pa X-axis tobva tatenderedza ne 45 degrees, hazvina kufanana nekutanga kutenderedza ne 45 degrees tozofambisa 100 pixels. /* Pink square: Kutanga shandura, wozotenderera */ .muenzaniso-mumwe { shandura: translateX(100px) tenderera(45deg); }
/* Green square: Kutanga kutenderera, wozoshandura */ .muenzaniso-mbiri { shandura: tenderera(45deg) translateX(100px); }
Ona iyo Pen Keyframes Tokens - Demo 11 [yaforogo] naAmit Sheen. Asi zvinoenderana nehurongwa hwekushandura, munhu wese anoshandura - zvese zvatakashandisa kune keyframes tokens - zvinoitika shanduko isati yashanda. Izvi zvinoreva kuti chero chinhu chaunoisa mushanduko chivakwa chichaitika mushure meiyo animations. Asi kana ukaisa, semuenzaniso, shandura pamwe chete ne kf-spin keyframes, dudziro ichaitika pamberi peiyo animation. Kuvhiringika futi?! Izvi zvinotungamira kumamiriro ezvinhu apo static values inogona kukonzera mhedzisiro dzakasiyana kune imwechete animation, senge mune inotevera kesi:
/* Yakajairika animation kune ese ari maviri spinners */ .spinner { animation: kf-spin 1s linear risingaperi; }
/* Pink spinner: shandura usati watenderera (shanduko yemunhu) */ .spinner-pingi { shandura: 100% 50%; }
/* Green spinner: tenderera wobva washandura (basa rekuita) */ .spinner-girini { shandura: shandura (100%, 50%); }
Ona iyo Pen Keyframes Tokens - Demo 12 [yaforogo] naAmit Sheen. Iwe unogona kuona kuti yekutanga spinner (pink) inowana dudziro inoitika isati yatenderera kf-spin, saka inotanga yaenda kunzvimbo yayo uye yobva yatenderera. Yechipiri spinner (yegirini) inowana dudziro () basa rinoitika mushure mekushandura kwemunhu, saka chinhu chinotanga kutenderera, chobva chafamba maererano nekona yazvino, uye isu tinowana iyo yakakura orbit maitiro. Aiwa, iyi haisi tsikidzi. Icho chingori chimwe chezvinhu izvo zvatinofanira kuziva nezveCSS uye tirambe tichifunga kana tichishanda neakawanda animations kana akawanda anoshandura. Kana zvichidikanwa, unogonawo kugadzira imwe seti ye kf-spin-alt keyframes inotenderera zvinhu uchishandisa rotate() basa. Yakaderedzwa Motion Uye isu tichitaura nezve mamwe makiyi makiyi, isu hatigone kufuratira iyo "hapana animation" sarudzo. Imwe yemabhenefiti makuru ekushandisa keyframes tokens ndeyekuti kuwanikwa kunogona kubikwa mukati, uye zviri nyore kuita. Nekugadzira edu makiyi makiyi tichifunga nezvekuwaniswa, tinogona kuona kuti vashandisi vanofarira kuderedzwa kufamba vanowana yakapfava, isinga vhiringike ruzivo, pasina rimwe basa kana kudzokorora kodhi. Izvo chaizvo zvinoreva "Kuderedzwa Kwekufamba" kunogona kuchinja zvishoma kubva kune imwe animation kuenda kune imwe, uye kubva kupurojekiti kuenda kupurojekiti, asi heano mashoma akakosha mapoinzi ekuchengeta mupfungwa: Kunyaradza Keyframes Nepo mamwe animations achigona kupfaviswa kana kudzikiswa, kune mamwe anofanirwa kunyangarika zvachose kana kuderedzwa kufamba kwakumbirwa. Pulse animations muenzaniso wakanaka. Kuita chokwadi chekuti aya maanimation haashande mune yakaderedzwa motion modhi, tinogona kungoaputira mune yakakodzera midhiya mubvunzo.
@media (inofarira-yakaderedzwa-kufamba: hapana-kuda) { @keyfrmaes kf-pulse { kubva ku{ chikero: var(--kf-pulse-scale-from, 1); opacity: var(--kf-pulse-opacity-from, 1); } ku{ chikero: var(--kf-pulse-scale-to, 1); opacity:var(--kf-pulse-opacity-to, 1); } } }
Izvi zvinovimbisa kuti vashandisi vakaseta vanosarudza-kuderedzwa-kufamba kuti vaderedze havazoone iwo animation uye vanowana chiitiko chinoenderana nezvavanofarira. Instant In Pane mamwe makiyi maframes atisingakwanise kungobvisa, senge mifananidzo yekupinda. Iko kukosha kunofanirwa kushanduka, kunofanira kurarama; kana zvisina kudaro, chinhu hachizove nehunhu chaihwo. Asi mukufamba kwakaderedzwa, shanduko iyi kubva pakukosha kwekutanga kunofanirwa kuve nekukasira. Kuti tiite izvi, isu tinotsanangura imwe seti yemakiyi makiyi uko kukosha kunosvetuka nekukurumidza kusvika kumagumo. Aya anova makiyi makiyi edu ekutanga. Zvadaro, isu tinozowedzera makiyi makiyi mukati memubvunzo wenhau wekuda-kuderedzwa-kufamba kwakaiswa kune kusada-, sezvakaita mumuenzaniso wapfuura. /* pinda ipapo kuti udzikise kufamba */ @keyframes kf-zoom { kubva, kuenda ku{ chikero: var(--kf-zoom-to, 1); } }
@media (inofarira-yakaderedzwa-kufamba: hapana-kuda) { /* Yekutanga zoom keyframes */ @keyframes kf-zoom { kubva ku{ chikero: var(--kf-zoom-kubva, 0.8); } ku{ chikero: var(--kf-zoom-to, 1); } } }
Nenzira iyi, vashandisi vanosarudza kuderedzwa kufamba vachaona chinhu chichioneka pakarepo mumamiriro ayo ekupedzisira, nepo munhu wese achiwana shanduko yehupenyu. Nzira Yakapfava Pane zviitiko apo isu tinoda kuchengetedza kumwe kufamba, asi zvakapfava uye zvakadzikama pane yekutanga animation. Semuyenzaniso, tinogona kutsiva bounce musuwo nekunyorova fade-mukati.
@keyframes kf-bounce { /* Soft fade-in yekuderedza kufamba */ }
@media (inofarira-yakaderedzwa-kufamba: hapana-kuda) { @keyframes kf-bounce { /* Yekutanga bounce keyframes */ } }
Ikozvino, vashandisi vane kuderedzwa kwekufamba kwakagoneswa vachiri kuwana pfungwa yekutaridzika, asi pasina kusimba kwekufamba kwebounce kana elastic animation. Nezvivharo zvekuvaka munzvimbo, mubvunzo unotevera ndewekuti ungazviita sei chikamu chekufamba chaiko. Kunyora makiyi makiyi chinhu chimwe chete, asi kuita kuti avimbike papurojekiti hombe kunoda nzira shoma dzandaifanira kudzidza nenzira yakaoma. Mashandisirwo eMatanho & Maitiro Akanakisisa Kana tave neraibhurari yakasimba yemakeyframes tokens, dambudziko chairo nderekuti tingavaunza sei mubasa remazuva ese.
Muedzo ndewekudonhedza makiyi makiyi mukati kamwechete uye kuzivisa dambudziko rakagadziriswa, asi mukuita ndakaona kuti mhedzisiro yakanaka inobva mukutorwa zvishoma nezvishoma. Tanga nemaanimation anonyanya kuzivikanwa, senge fade kana slide. Aya mahwina ari nyore anoratidza kukosha kwekukurumidza pasina kuda kunyorwazve kukuru. Kupa zita nderimwe pfundo rinofanirwa kucherechedzwa. Chivakamberi chinopindirana kana nzvimbo yezita inoita kuti zvive pachena kuti maanimation ari ma tokens uye ndeapi emunharaunda one-offs. Iyo zvakare inodzivirira kudhumhana netsaona uye inobatsira nhengo nyowani dzechikwata kuziva iyo yakagovaniswa system nekungotarisa. Zvinyorwa zvakakosha sekodhi pachayo. Kunyangwe chirevo chipfupi pamusoro pese kiyi makiyi chiratidzo chinogona kuchengetedza maawa ekufungidzira gare gare. Mugadziri anofanirwa kukwanisa kuvhura iyo tokens faira, kuongorora maitiro avanoda, uye kukopa maitiro ekushandisa akananga muchikamu chavo. Kuchinjika ndiko kunoita kuti nzira iyi ikodzere kuedza. Nekufumura zvine hungwaru zvivakwa, tinopa zvikwata nzvimbo yekuchinjisa iyo animation pasina kutyora sisitimu. Panguva imwecheteyo, edza kusanyanya kuomesa. Ipa mapfundo anokosha uye chengeta mamwe ose achifunga. Pakupedzisira, yeuka kuwanikwa. Haasi ese animation anoda yakaderedzwa inofamba imwe nzira, asi mazhinji inodaro. Kubika mugadziriso idzi kare kunoreva kuti hatizombofa takazvidzosera gare gare, uye zvinoratidza mwero wehanya uyo vashandisi vedu vanozozviona kunyangwe vasina kumbozvitaura.
Mune ruzivo rwangu, kubata keyframes tokens sechikamu chedhizaini yedu tokens kufambiswa kwebasa ndiko kunoita kuti vanamate. Kana vangove panzvimbo, vanomira kunzwa semagumisiro anokosha uye vanova chikamu chemutauro wekugadzira, kuwedzera kwechisikigo kwekuti chigadzirwa chinofamba sei uye chinopindura sei. Kupedzisa Mifananidzo inogona kuve imwe yeanonyanya kufadza zvikamu zvekuvaka, asi pasina chimiro, anogona zvakare kuve mamwe makuru makuru ekuvhiringidzika. Nekubata makiyi makiyi sezviratidzo, iwe unotora chimwe chinhu chinowanzo vhiringika uye chakaoma kubata nekuchishandura kuita chakajeka, chinofanotaurwa system. Iko kukosha chaiko hakusi mukuchengetedza mitsetse mishoma yekodhi. Zviri mukuvimba kuti kana ukashandisa fade, slide, zoom, kana spin, iwe unonyatsoziva maitiro azvichaita mukati meprojekti. Icho chiri mukushanduka-shanduka kunobva kune tsika zvivakwa pasina mhirizhonga yekusiyana kusingaperi. Uye iri mukusvikika kwakavakirwa munheyo pane kuwedzera seimwe pfungwa. Ndakaona mazano aya achishanda muzvikwata zvakasiyana uye macodebases akasiyana, uye maitiro anogara akafanana. Kana zviratidzo zvave munzvimbo, keyframes inomira kuve yakapararira muunganidzwa wematipi uye inova chikamu chemutauro wekugadzira. Vanoita kuti chigadzirwa chinzwe kuva nemaune, chinowirirana, uye chipenyu. Kana iwe ukatora chinhu chimwe kubva muchinyorwa ichi, ngachive ichi: mifananidzo inofanirwa kutarisirwa kumwechete uye chimiro chatinopa kune mavara, typography, uye nzvimbo. Kudyara kudiki mumakiyi makiyi tokeni kunobhadhara pese paunofamba interface yako.