Nahana ka sena: u kenella morerong o mocha, u ikakhela ka har'a codebase, 'me ka mor'a lihora tse' maloa, u tla fumana ntho e nyahamisang eo u e tloaetseng. E hasane hohle maqepheng a litaele, u fumana litlhaloso tse ngata tsa @keyframes bakeng sa lipopae tsa mantlha tse tšoanang. Litlamorao tse tharo tse fapaneng, li-slide tse peli kapa tse tharo, lipopae tse fokolang, le bonyane lipopae tse peli tse fapaneng tsa spin hobane, hobaneng? @keyframes pulse { ho tsoa ho { sekala: 1; } ho { sekala: 1,1; } }
@keyframes-pulse e kholoanyane { 0%, 20%, 100% { sekala: 1; } 10%, 40% { sekala: 1,2; } }
Haeba boemo bona bo utloahala bo tloaelehile, ha u mong. Boiphihlelong ba ka ho merero e fapaneng, e 'ngoe ea katleho e potlakileng eo nka e fanang ka eona ke ho kopanya le ho tiisa li-keyframes. E fetohile mokhoa o ka tšeptjoang hoo joale ke lebeletseng ho hloekisa ena e le e 'ngoe ea mesebetsi ea ka ea pele ho codebase leha e le efe e ncha. Monahano ka Mora Moferefere Khaello ena e utloahala hantle ha u nahana ka eona. Kaofela re sebelisa lipopae tsa mantlha tse ts'oanang mosebetsing oa rona oa letsatsi le letsatsi: li-fades, li-slide, zooms, spins, le litlamorao tse ling tse tloaelehileng. Lipopae tsena li hlakile, 'me ho bonolo ho fana ka tlhaloso e potlakileng ea @keyframes ho etsa hore mosebetsi o phethoe. Ntle le sistimi ea animation e bohareng, bahlahisi ba ngola li-keyframes tsena ho tloha qalong, ba sa tsebe hore litšoantšo tse tšoanang li se li ntse li le teng libakeng tse ling tsa codebase. Sena se tloaelehile haholo ha re sebetsa meahong e thehiloeng ho likarolo (eo boholo ba rona re e etsang matsatsing ana), kaha lihlopha li atisa ho sebetsa ka ho bapisa likarolo tse fapaneng tsa kopo. Sephetho? Tlhaselo ea lipopae. Bothata bo Bonyane Litaba tse totobetseng ka ho pheta-pheta li-keyframes ke tšenyo ea nako ea nts'etsopele le bloat ea khoutu e sa hlokahaleng. Litlhaloso tse ngata tsa li-keyframe li bolela libaka tse ngata tseo u ka li ntlafatsang ha litlhoko li fetoha. Na u hloka ho lokisa nako ea animation ea hau ea fade? U tla hloka ho tsoma ketsahalo e 'ngoe le e' ngoe ho pholletsa le codebase ea hau. U batla ho etsa mesebetsi e bebofatsang maemo? Mahlohonolo a ho fumana mefuta eohle. Katoloso ena ea lintlha tsa tokiso e etsa hore esita le lipopae tse bonolo li nchafatsa mosebetsi o jang nako. Bothata bo boholoanyane Phetiso ena ea li-keyframes e baka bothata bo poteletseng ho feta bo ka tlase ho bokaholimo: sefi sa lefats'e. Le ha o sebetsa ka meralo e thehiloeng ho likarolo, li-keyframes tsa CSS li lula li hlalosoa maemong a lefats'e. Sena se bolela hore li-keyframes tsohle li sebetsa ho likarolo tsohle. Kamehla. Ee, animation ea hau ha e sebelise li-keyframes tseo u li hlalositseng karolong ea hau. E sebelisa li-keyframes tsa ho qetela tse tsamaellanang hantle le lebitso le ts'oanang le le kentsoeng lefats'eng lohle. Ha feela li-keyframes tsa hau kaofela li ts'oana, sena se kanna sa utloahala e le taba e nyane. Empa hang ha o batla ho etsa animation bakeng sa ts'ebeliso e itseng, o bothateng, kapa ho hobe le ho feta, ke uena ea ba bakang. Ekaba animation ea hau e ke ke ea sebetsa hobane karolo e 'ngoe e laeloa ka mor'a ea hau, e ngola li-keyframes tsa hau holimo, kapa thepa ea hau ea likarolo e qetella e fetola ka phoso boitšoaro ba animation bakeng sa karolo e' ngoe le e 'ngoe e sebelisang lebitso la keyframe,' me mohlomong ha u e elelloe. Mona ke mohlala o bonolo o bontšang bothata: .karolo-nngwe { /* likarolo tsa mefuta */ animation: pulse 1s boiketlo-in-out infinite alternate; }
/* tlhaloso ena ea @keyframes e ke ke ea sebetsa */ @keyframes pulse { ho tsoa ho { sekala: 1; } ho { sekala: 1,1; } }
/* hamorao khoutu... */
.karolo ea bobeli { /* likarolo tsa mefuta */ animation: pulse 1s boiketlo-in-out infinite; }
/* li-keyframes tsena li tla sebetsa ho likarolo tse peli */ @keyframes pulse { 0%, 20%, 100% { sekala: 1; } 10%, 40% { sekala: 1,2; } }
Likarolo ka bobeli li sebelisa lebitso le tšoanang la animation, empa tlhaloso ea bobeli ea @keyframes e hlakola ea pele. Hona joale ka bobeli karolo-e le 'ngoe le karolo ea bobeli li tla sebelisa li-keyframes tsa bobeli, ho sa tsotellehe hore na ke karolo efe e hlalosang hore na ke li-keyframes life. Sheba Li-Tokens tsa Pen Keyframes - Demo 1 [e ferekoang] ke Amit Sheen. Karolo e mpe ka ho fetisisa? Hangata sena se sebetsa ka mokhoa o phethahetseng nts'etsopele ea lehae empa se senyeha ka mokhoa o makatsang tlhahisong ha lits'ebetso tsa kaho li fetola tatellano ea ho kenya li-stylesheets tsa hau. U qetella u e-na le li-animation tse itšoarang ka tsela e fapaneng ho itšetlehile ka hore na ke likarolo life tse laetsoeng le hore na ke tatellano efe. Tharollo: Li-keyframes tse kopaneng Karabo ea pherekano ena e bonolo ka mokhoa o makatsang: li-keyframes tse matla tse boletsoeng esale pele tse bolokiloeng leqepheng le arolelanoang. Sebakeng sa ho lumella karolo e 'ngoe le e' ngoe hore e hlalose lipopae tsa eona, re theha li-keyframes tse bohareng tse ngotsoeng hantle, ho bonolo ho li etsa.e sebelisoa, e bolokehe, 'me e lokisetsoe litlhoko tse ikhethileng tsa projeke ea hau. Nahana ka eona e le li-tokens tsa keyframes. Joalo ka ha re sebelisa li-tokens bakeng sa mebala le sebaka, 'me bongata ba rona re se re ntse re sebelisa li-tokens bakeng sa thepa ea animation, joalo ka nako le mesebetsi e nolofatsang, ke hobane'ng ha u sa sebelise li-tokens bakeng sa li-keyframes hape? Mokhoa ona o ka kopanya ka tlhaho le mokhoa leha e le ofe oa hona joale oa token workflow oo u o sebelisang, ha u ntse u rarolla bothata bo bonyenyane (ho pheta-pheta khoutu) le bothata bo boholoanyane (likhohlano tsa lefats'e) ka nako e le 'ngoe. Mohopolo o hlakile: theha mohloli o le mong oa 'nete bakeng sa lipopae tsa rona tse tšoanang. Leqephe lena la litaele le arolelanoang le na le li-keyframes tse entsoeng ka hloko tse koahelang mekhoa ea lipopae eo re e sebelisang. Ha ho sa na ho hakanya hore na animation ea fade e se e ntse e le teng kae-kae ho codebase ea rona. Ha ho sa tla hlola ho hlakola lipopae tse tsoang likarolong tse ling ka phoso. Empa senotlolo ke sena: tsena ha se lipopae feela tse sa fetoheng. Li etselitsoe hore e be tse matla le tse fumanehang habonolo ka thepa ea tloaelo ea CSS, e re lumellang ho boloka botsitso ha re ntse re e-na le monyetla oa ho fetola lipopae maemong a itseng a ts'ebeliso, joalo ka ha o hloka animation e kholoanyane ea "pulse" sebakeng se le seng. Ho aha Letšoao la Pele la Keyframes E 'ngoe ea litholoana tsa pele tse leketlileng tse tlase tseo re lokelang ho li sebetsana le "fade-in" animation. Ho e 'ngoe ea merero ea ka ea morao-rao, ke fumane litlhaloso tse fetang leshome le metso e' meli tse arohaneng, 'me ee, kaofela li ile tsa hlahisa opacity ho tloha ho 0 ho isa ho 1. Kahoo, ha re theheng leqephe le lecha la litaele, re le bitse kf-tokens.css, re le kenye morerong oa rona, 'me re behe li-keyframes tsa rona tse nang le maikutlo a nepahetseng kahare ho eona. /* keyframes-tokens.css */
/* * Fade In - fade animation ea ho kena * Tšebeliso: animation: kf-fade-in 0.3s ease-out; */ @keyframes kf-fade-in { ho tsoa ho { opacity: 0; } ho { opacity: 1; } }
Phatlalatso ena e le 'ngoe ea @keyframes e nka sebaka sa lipopae tsohle tse hasantsoeng ho pholletsa le codebase ea rona. E hloekile, e bonolo, 'me e sebetsa lefatšeng ka bophara. 'Me kaha joale re na le lets'oao lena le hlalositsoeng, re ka le sebelisa ho tsoa ho karolo efe kapa efe morerong oa rona: .modal { animation: kf-fade-in 0.3s ease-out; }
.tooltip { animation: kf-fade-in 0.2s bonolo-ka-tsoa; }
.tsebiso { animation: kf-fade-in 0.5s ease-out; }
Sheba Li-Tokens tsa Pen Keyframes - Demo 2 [e ferekoang] ke Amit Sheen. Tlhokomeliso: Re sebelisa sehlongoa sa kf- mabitso ohle a rona @keyframes. Sehlongoa sena se sebetsa e le sebaka sa mabitso se thibelang likhohlano tsa mabitso le litšoantšo tse teng morerong mme se hlakisa hang-hang hore li-keyframes tsena li tsoa faeleng ea rona ea li-keyframes tokens. Ho Etsa Selaete se Matla Li-keyframes tsa kf-fade-in li sebetsa hantle hobane li bonolo ebile ha ho na sebaka sa ho senya lintho. Lipopae tse ling, leha ho le joalo, re hloka ho ba matla haholoanyane, 'me mona re ka phahamisa matla a maholo a thepa ea tloaelo ea CSS. Mona ke moo li-tokens tsa keyframes li hlileng li khanyang ha li bapisoa le li-animation tse hasaneng tse sa fetoheng. Ha re nkeng boemo bo tloaelehileng: lipopae tsa "slide-in". Empa thellela ho tloha kae? 100px ho tloha ka ho le letona? 50% ho tloha ka ho le letšehali? E lokela ho kena ho tsoa holimo skrineng? Kapa mohlomong phaphamala ho tloha tlase? Menyetla e mengata, empa sebakeng sa ho theha li-keyframes tse arohaneng bakeng sa tataiso e 'ngoe le e' ngoe, re ka theha lets'oao le le leng le feto-fetohang le ikamahanyang le maemo ohle: /* * Slide In - animation ea selaete e lebileng * Sebelisa --kf-slide-ho tloha ho laola tsela * Kamehla: li-slide ho tloha ka letsohong le letšehali (-100%) * Tšebeliso: * animation: kf-slide-in 0.3s ease-out; * --kf-slide-ho tloha: -100px 0; // ho thella ho tloha ho le letshehadi * --kf-slide-ho tloha: 100px 0; // thella ho tloha ho le letona * --kf-slide-ho tloha: 0 -50px; // ho thella ho tloha hodimo */
@keyframes kf-slide-in { ho tsoa ho { translate: var(--kf-slide-from, -100% 0); } ho { fetolela: 0 0; } }
Joale re ka sebelisa lets'oao lena le le leng la @keyframes bakeng sa tsela efe kapa efe ea li-slide ka ho fetola --kf-slide-ho tloha thepa ea tloaelo: .letlapa { animation: kf-slide-in 0.3s ease-out; /* E sebelisa boleng ba kamehla: li-slide ho tloha ka ho le letšehali */ }
.tsebiso { animation: kf-slide-in 0.4s ease-out; --kf-slide-ho tloha: 0 -50px; /* thella ho tloha holimo */ }
.modal { animation: kf-fade-in 0.5s, kf-slide-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1); --kf-slide-ho tloha: 50px 50px; /* thella ho tloha tlase ho le letona */ }
Mokhoa ona o re fa ho fetoha ha maemo ha re ntse re boloka botsitso. Phatlalatso e le 'ngoe ea keyframe, menyetla e sa feleng. Sheba Li-Tokens tsa Pen Keyframes - Demo 3 [e ferekoang] ke Amit Sheen. 'Me haeba re batla ho etsa hore lipopae tsa rona li tenyetsehe le ho feta, re lumelle litlamorao tsa "slide-out" hape, re kaKenya feela --kf-slide-ho thepa ea tloaelo, e ts'oanang le eo re tla e bona karolong e latelang. Li-keyframes tsa Zoom tse peli Papali e 'ngoe e tloaelehileng e phetoang ho pholletsa le merero ke litlamorao tsa "zoom". Ebang ke mokhoa o poteletseng oa ho eketsa melaetsa ea toast, katametso e matla ea mekhoa, kapa phello e bonolo ea ho theola lihlooho, lipopae tsa katametso li hohle. Sebakeng sa ho theha li-keyframes tse arohaneng bakeng sa boleng bo bong le bo bong ba sekala, ha re theheng sete e le 'ngoe e feto-fetohang ea kf-zoom keyframes:
/* * Atometsa - animation ea sekala * Sebelisa --kf-zoom-from le --kf-zoom-to ho laola boleng ba sekala * Ea kamehla: atometsa ho tloha ho 80% ho isa ho 100% (0.8 ho isa ho 1) * Tšebeliso: * animation: kf-zoom 0.2s bonolo-tsoa; * --kf-zoom-ho tloha: 0.5; --kf-atometsa-ho: 1; // atometsa ho tloha ho 50% ho isa ho 100% * --kf-zoom-ho tloha: 1; --kf-atometsa-ho: 0; // atometsa ho tloha ho 100% ho isa ho 0% * --kf-zoom-ho tloha: 1; --kf-atometsa-ho: 1.1; // atometsa ho tloha ho 100% ho isa ho 110% */
@keyframes kf-zoom { ho tsoa ho { sekala: var(--kf-zoom-from, 0.8); } ho { sekala: var(--kf-zoom-to, 1); } }
Ka tlhaloso e le 'ngoe, re ka fihlela phapang efe kapa efe eo re e hlokang: .toast { animation: kf-slide-in 0.2s, kf-zoom 0.4s bonolo-tsoa; --kf-slide-ho tloha: 0 100%; /* thella ho tloha holimo */ /* E sebelisa zoom ea kamehla: sekala ho tloha ho 80% ho isa ho 100% */ }
.modal { animation: kf-zoom 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); --kf-zoom-ho tloha: 0; /* kato e makatsang ho tloha ho 0% ho isa ho 100% */ }
.sehlooho { animation: kf-fade-in 2s, kf-zoom 2s boiketlo-in; --kf-zoom-ho tloha: 1.2; --kf-zoom-ho: 0.8; /* fokotsa bonolo */ }
Boemo bo sa feleng ba 0.8 (80%) bo sebetsa hantle bakeng sa likarolo tse ngata tsa UI, joalo ka melaetsa ea toast le likarete, ha ho ntse ho le bonolo ho e etsa bakeng sa linyeoe tse khethehileng. Sheba Li-Tokens tsa Pen Keyframes - Demo 4 [e ferekoang] ke Amit Sheen. Mohlomong u hlokometse ho hong ho khahlisang mehlaleng ea morao tjena: re ntse re kopanya lipopae. E 'ngoe ea melemo ea bohlokoa ea ho sebetsa le li-tokens tsa @keyframes ke hore li etselitsoe ho hokahana ka mokhoa o se nang moeli. Tlhamo ena e boreleli e entsoe ka boomo, eseng ka phoso. Re tla tšohla sebopeho sa lipopae ka botlalo hamorao, ho kenyelletsa moo li ka bang le mathata, empa metsoako e mengata e hlakile ebile e bonolo ho e sebelisa. Tlhokomeliso: Ha ke ntse ke ngola sengoloa sena, mme mohlomong ka lebaka la ho se ngola, ke ile ka iphumana ke nahana hape ka mohopolo oohle oa lipopae tsa ho kena. Ka likhatelopele tsohle tsa morao-rao tsa CSS, na re ntse re li hloka ho hang? Ka lehlohonolo, Adam Argyle o ile a hlahloba lipotso tse tšoanang 'me a li hlalosa ka bokhabane ho blog ea hae. Sena ha se hanyetse se ngotsoeng mona, empa se fana ka mokhoa o lokelang ho nahanoa, haholo haeba merero ea hau e itšetlehile haholo ka lipopae tsa menyako. Lipopae tse Tsoelang Pele Ha lipopae tse kenang, joalo ka "fide", "slide", le "zoom" li etsahala hang ebe li emisa, lipopae tse tsoelang pele li lula li le teng ho hohela batho kapa ho bontša tšebetso e tsoelang pele. Lipopae tse peli tse tsoelang pele tseo ke kopanang le tsona ke "spin" (bakeng sa matšoao a ho kenya) le "pulse" (bakeng sa ho totobatsa lintlha tsa bohlokoa). Lits'oants'o tsena li hlahisa mathata a ikhethang ha ho tluoa tabeng ea ho theha li-tokens tsa keyframes. Ho fapana le lipopae tse kenang tseo hangata li tlohang seterekeng se seng ho ea ho se seng, lipopae tse tsoelang pele li hloka ho itloaetsa mekhoa ea bona ea boitšoaro. Ngaka ea Spin Morero o mong le o mong o bonahala o sebelisa lipopae tse ngata tsa spin. Ba bang ba bilika ka ho le letona, ba bang ba bilika ka tsela e fapaneng. Ba bang ba etsa potoloho e le 'ngoe ea 360-degree, ba bang ba etsa makhetlo a mangata bakeng sa phello e potlakileng. Sebakeng sa ho theha li-keyframes tse arohaneng bakeng sa phapang e 'ngoe le e' ngoe, ha re theheng spin e le 'ngoe e bonolo e sebetsanang le maemo ohle:
/* * Spin - animation e potolohang * Sebelisa --kf-spin-from le --kf-spin-to ho laola sebaka sa ho potoloha * Sebelisa --kf-spin-turns ho laola palo ea potoloho * Default: e potoloha ho tloha ho 0deg ho ea ho 360deg (1 potoloho e felletseng) * Tšebeliso: * animation: kf-spin 1s linear infinite; * --kf-spin-turns: 2; // Lipotoloho tse 2 tse felletseng * --kf-spin-ho tloha: 0deg; --kf-spin-to: 180deg; // ho potoloha halofo * --kf-spin-ho tloha: 0deg; --kf-spin-to: -360deg; // kgahlano le nako */
@keyframes kf-spin { ho tsoa ho { potoloha: var(--kf-spin-from, 0deg); } ho { rotate: calc(var(--kf-spin-from, 0deg) + var(--kf-spin-to, 360deg) * var(--kf-spin-turns, 1)); } }
Hona joale re ka etsa mofuta ofe kapa ofe oa spin oo re o ratang:
.loading-spinner { animation: kf-spin 1s linear infinite; /* E sebelisa kamehla: e potoloha ho tloha ho 0deg ho ea ho 360deg */ }
.ho jara ka potlako { animation: kf-spin 1.2s ease-in-out infinite alternate; --kf-spin-turns: 3; / * Lipotoloho tse 3 tse felletseng bakeng sa tataiso e 'ngoe le e 'ngoe ea potoloho*/ }
.hato-ho kheloha { animation: kf-spin 1.5s mehato(8) e sa feleng; --kf-spin-to: -360deg; /* counterclockwise */ }
.fitle-feggle { animation: kf-spin 2s ease-in-out infinite alternate; --kf-spin-ho tloha: -16deg; --kf-spin-to: 32deg; /* wiggle 36 deg: pakeng tsa -18deg le +18deg */ }
Sheba Li-Tokens tsa Pen Keyframes - Demo 5 [e ferekoang] ke Amit Sheen. Botle ba mokhoa ona ke hore li-keyframes tse tšoanang li sebetsa bakeng sa ho kenya li-spinners, li-icon tse potolohang, liphello tse sisinyehang, esita le litšoantšo tse rarahaneng tse fapaneng. The Pulse Paradox Lipopae tsa Pulse li rarahane ho feta hobane li khona ho "phunya" lisebelisoa tse fapaneng. Tse ling li otla sekala, tse ling li potlakisa ponahalo, 'me tse ling tsa mebala ea pulse joalo ka khanya kapa saturation. Sebakeng sa ho theha li-keyframes tse arohaneng bakeng sa thepa ka 'ngoe, re ka theha li-keyframes tse sebetsang le thepa efe kapa efe ea CSS. Mona ke mohlala oa pulse keyframe e nang le likhetho tsa sekala le opacity:
/* * Pulse - animation ea pulsing * Sebelisa --kf-pulse-scale-from le --kf-pulse-scale-to ho laola sekala * Sebelisa --kf-pulse-opacity-from le --kf-pulse-opacity-to ho laola opacity range * Default: ha ho pulse (boleng bohle 1) * Tšebeliso: * animation: kf-pulse 2s ease-in-out infinate alternate; * --kf-pulse-scale-ho tloha: 0,95; --kf-pulse-scale-ho: 1.05; // ho otla ha sekhahla * --kf-pulse-opacity-ho tloha: 0,7; --kf-pulse-opacity-ho: 1; // Boetsuwa ba ho opacity */
@keyframes kf-pulse { ho tsoa ho { sekala: var(--kf-pulse-scale-from, 1); opacity: var(--kf-pulse-opacity-from, 1); } ho { sekala: var(--kf-pulse-scale-to, 1); opacity: var(--kf-pulse-opacity-to, 1); } }
Sena se theha pulse e feto-fetohang e ka phelisang thepa e mengata: . pitso ea ho nka khato { animation: kf-pulse 0.6s infinite alternate; --kf-pulse-opacity-ho tloha: 0,5; /* opacity pulse */ }
.letheba-tsebiso { animation: kf-pulse 0.6s ease-in-out infinite alternate; --kf-pulse-scale-ho tloha: 0,9; --kf-pulse-scale-ho: 1.1; /* lebelo la sekhahla */ }
.hlahisa mongolo { animation: kf-pulse 1.5s ho phutholoha ho sa feleng; --kf-pulse-scale-ho tloha: 0,8; --kf-pulse-opacity-ho tloha: 0,2; /* sekala le ho opacity pulse */ }
Sheba Li-Tokens tsa Pen Keyframes - Demo 6 [e ferekoang] ke Amit Sheen. Kf-pulse keyframe ena e le 'ngoe e khona ho sebetsana le ntho e' ngoe le e 'ngoe ho tloha ho ho hapa tlhokomelo e poteletseng ho ea ho lintlha-khōlō tse tsotehang, ha ho ntse ho le bonolo ho e etsa. Advanced Easing E 'ngoe ea lintho tse ntle ka ho sebelisa li-tokens tsa keyframes ke hore na ho bonolo hakae ho holisa laeborari ea rona ea lipopae le ho fana ka litlamorao tseo bahlahisi ba bangata ba neng ba ke ke ba itšoenya ka ho li ngola ho tloha qalong, joalo ka rekere kapa bounce. Mohlala ke ona oa lets'oao le bonolo la "bounce" la li-keyframes le sebelisang --kf-bounce-ho tloha thepa ea tloaelo ho laola bophahamo ba ho tlola. /* * Bounce - animation ea monyako o tlokomang * Sebelisa --kf-bounce-ho tloha ho laola bophahamo ba ho tlola * Kamehla: tlola ho tloha ho 100vh (ho tloha skrineng) * Tšebeliso: * animation: kf-bounce 3s habonolo-in; * --kf-bounce-from: 200px; // tlola ho tloha bophahamong ba 200px */
@keyframes kf-bounce { 0% { translate: 0 calc(var(--kf-bounce-from, 100vh) * -1); }
34% { fetolela: 0 calc(var(--kf-bounce-from, 100vh) * -0.4); }
55% { fetolela: 0 calc(var(--kf-bounce-from, 100vh) * -0.2); }
72% { fetolela: 0 calc(var(--kf-bounce-from, 100vh) * -0.1); }
85% { fetolela: 0 calc(var(--kf-bounce-from, 100vh) * -0.05); }
94% { fetolela: 0 calc(var(--kf-bounce-from, 100vh) * -0.025); }
99% { fetolela: 0 calc(var(--kf-bounce-from, 100vh) * -0.0125); }
22%, 45%, 64%, 79%, 90%, 97%, 100% { fetolela: 0 0; animation-timing-function: boiketlo-ntle; } }
Lipopae tse kang "elastic" li batla li le qhekella ka lebaka la lipalo tse ka hare ho li-keyframes. Re hloka ho hlalosa --kf-elastic-from-X le --kf-elastic-from-Y ka thoko (ka bobeli ke boikhethelo), 'me hammoho li re lumella ho theha monyako o otlolohileng ho tsoa ntlheng efe kapa efe skrineng.
/* * Elastic In - animation ea monyako oa elastic * Sebelisa --kf-elastic-from-X le --kf-elastic-from-Y ho laola boemo ba ho qala * Default: e kena ho tsoa setsing se holimo (0, -100vh) * Tšebeliso: * animation: kf-elastic-in 2s bonolo-in-out ka bobeli; * --kf-elastic-from-X: -50px; * --kf-elastic-from-Y: -200px; // kenya ho tloha (-50px, -200px) */
@keyframes kf-elastic-in { 0% { translate: calc(var(--kf-elastic-from-X, -50vw) * 1) calc(var(--kf-elastic-from-Y, 0px) * 1); }
16% { translate: calc(var(--kf-elastic-from-X, -50vw) * -0.3227) calc(var(--kf-elastic-from-Y, 0px) * -0.3227); }
28% { translate: calc(var(--kf-elastic-from-X, -50vw) * 0.1312)calc(var(--kf-elastic-from-Y, 0px) * 0.1312); }
44% { translate: calc(var(--kf-elastic-from-X, -50vw) * -0.0463) calc(var(--kf-elastic-from-Y, 0px) * -0.0463); }
59% { translate: calc(var(--kf-elastic-from-X, -50vw) * 0.0164) calc(var(--kf-elastic-from-Y, 0px) * 0.0164); }
73% { translate: calc(var(--kf-elastic-from-X, -50vw) * -0.0058) calc(var(--kf-elastic-from-Y, 0px) * -0.0058); }
88% { translate: calc(var(--kf-elastic-from-X, -50vw) * 0.0020) calc(var(--kf-elastic-from-Y, 0px) * 0.0020); }
100% { fetolela: 0 0; } }
Mokhoa ona o etsa hore ho be bonolo ho sebelisa hape le ho iketsetsa li-keyframes tse tsoetseng pele morerong oa rona, ka ho fetola thepa e le 'ngoe feela.
.tlanya-le-ho atametsa { animation: kf-bounce 3s boiketlo ba ho kena, kf-zoom 3s linear; --kf-zoom-ho tloha: 0; }
.tlanya-le-slide { animation-tlhaho: eketsa; /* Lipopae ka bobeli li sebelisa ho fetolela */ animation: kf-bounce 3s boiketlo ba ho kena, kf-slide-in 3s bonolo-tsoa; --kf-slide-ho tloha: -200px; }
.elastic-in { animation: kf-elastic-in 2s ease-in-out ka bobeli; }
Sheba Li-Tokens tsa Pen Keyframes - Demo 7 [e ferekoang] ke Amit Sheen. Ho fihlela mona, re bone kamoo re ka kopanyang li-keyframes ka tsela e bohlale le e sebetsang hantle. Ehlile, o kanna oa batla ho lokisa lintho hore li lekane hantle litlhoko tsa projeke ea hau, empa re kentse mehlala ea lipopae tse 'maloa tse tloaelehileng le linyeoe tsa ts'ebeliso ea letsatsi le letsatsi. 'Me ka li-tokens tsena tsa keyframe, joale re na le litekanyo tse matla tsa ho aha bakeng sa ho theha lipopae tse tsitsitseng, tse tšoarellang morerong kaofela. Ha ho sa na li-keyframes tse kopitsoang, ha ho sa na likhohlano tsa lefats'e. Ke mokhoa o hloekileng, o bonolo oa ho sebetsana le litlhoko tsohle tsa rona tsa lipopae. Empa potso ea sebele ke hore: Re kopanya litene tsee tsa mohaho hammoho joang? Ho Kopanya Tsohle Re bone hore ho kopanya li-tokens tsa keyframes tsa motheo ho bonolo. Ha re hloke letho le ikhethang empa ho hlalosa animation ea pele, ho hlalosa ea bobeli, ho beha mefuta e fapaneng kamoo ho hlokahalang, 'me ke eona. /* Fade in + slide ho */ .toast { animation: kf-fade-in 0.4s, kf-slide-in 0.4s cubic-bezier(0.34, 1.56, 0.64, 1); --kf-slide-ho tloha: 0 40px; }
/* Atometsa + fifala */ .modal { animation: kf-fade-in 0.3s, kf-zoom 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); --kf-zoom-ho tloha: 0,7; --kf-atometsa-ho: 1; }
/* Thellela ka hare + ho otla */ .tsebiso { animation: kf-slide-in 0.5s, kf-pulse 1.2s ho phutholoha-ho-tsoa ho sa feleng alternate; --kf-slide-ho tloha: -100px 0; --kf-pulse-scale-ho tloha: 0,95; --kf-pulse-scale-ho: 1.05; }
Metsoako ena e sebetsa ka bokhabane hobane e 'ngoe le e 'ngoe ea lipopae e shebane le thepa e fapaneng: opacity, transform (fetola/scale), joalo-joalo. Empa ka linako tse ling ho na le likhohlano, 'me re hloka ho tseba hore na ke hobane'ng le mokhoa oa ho sebetsana le tsona. Ha lipopae tse peli li leka ho phelisa thepa e tšoanang - mohlala, sekala sa animating kapa opacity ea animating - sephetho e ke ke ea ba seo u se lebelletseng. Ka tloaelo, ke e le 'ngoe feela ea lipopae e hlileng e sebelisoang thepa eo, e leng eona ea ho qetela lethathamong la lipopae. Ena ke moeli oa hore na CSS e sebetsana joang le lipopae tse ngata sebakeng se le seng. Mohlala, sena se ke ke sa sebetsa joalo ka ha ho reriloe hobane ho tla sebetsa feela animation ea kf-pulse. .bad-combo { animation: kf-zoom 0.5s ho ea pele, kf-pulse 1.2s e sa feleng e 'ngoe; --kf-zoom-ho tloha: 0,5; --kf-atometsa-ho: 1.2; --kf-pulse-scale-ho tloha: 0,8; --kf-pulse-scale-ho: 1.1; }
Animation Tlatsetso Mokhoa o bonolo le o otlolohileng oa ho sebetsana le lipopae tse ngata tse amang thepa e le 'ngoe ke ho sebelisa thepa ea animation-composition. Mohlaleng oa ho qetela o ka holimo, animation ea kf-pulse e nka sebaka sa animation ea kf-zoom, kahoo re ke ke ra bona katametso ea pele 'me re ke ke ra fumana sekala se lebelletsoeng ho fihla ho 1.2. Ka ho seta animation-composition ho eketsa, re bolella sebatli ho kopanya lipopae ka bobeli. Sena se re fa sephetho seo re se batlang. .karolo ea bobeli { animation-tlhaho: eketsa; }
Sheba Li-Tokens tsa Pen Keyframes - Demo 8 [e ferekoang] ke Amit Sheen. Mokhoa ona o sebetsa hantle bakeng sa maemo a mangata moo re batlang ho kopanya liphello tsa thepa e tšoanang. E boetse e na le thuso ha re hloka ho kopanya lipopae le boleng ba thepa e sa fetoheng. Mohlala, haeba re na le elemente e sebelisang thepo ea ho fetolela ho e beha hantle moo re batlang, ebe re batla ho e phelisa ka kf-slide-in keyframes, re fumana tlolo e mpe e bonahalang ntle le animation-composition. Sheba Li-Tokens tsa Pen Keyframes - Demo 9 [e ferekoang] ke Amit Sheen. Ka animation-composition set to add, animation e kopantsoe hantle le e tengfetola, kahoo element e lule e le teng 'me e phele kamoo ho lebelletsoeng. Animation Stagger Tsela e 'ngoe ea ho sebetsana le lipopae tse ngata ke ho li "tsikinyetsa" - ke hore, qala animation ea bobeli hanyane kamora hore ea pele e qete. Ha se tharollo e sebetsang bakeng sa nyeoe e 'ngoe le e' ngoe, empa e na le thuso ha re e-na le animation ea monyako e lateloang ke animation e tsoelang pele. /* fade in + opacity pulse */ .tsebiso { animation: kf-fade-in 2s bonolo-tsoa, kf-pulse 0.5s 2s bonolo-in-out infinite alternate; --kf-pulse-opacity-ho: 0,5; }
Sheba Li-Tokens tsa Pen Keyframes - Demo 10 [e ferekoang] ke Amit Sheen. Laela Litaba Karolo e kholo ea lipopae tseo re sebetsang le tsona li sebelisa thepa ea phetoho. Maemong a mangata, sena se bonolo haholoanyane. E boetse e na le molemo oa ts'ebetso kaha li-animation tsa phetoho li ka potlakisa GPU. Empa haeba re sebelisa liphetoho, re lokela ho amohela hore tsela eo re etsang liphetoho ka eona e bohlokoa. Tse ngata. Ho li-keyframes tsa rona ho fihlela joale, re sebelisitse liphetoho tsa motho ka mong. Ho ea ka litlhaloso, tsena li lula li sebelisoa ka tatellano e tsitsitseng: pele, ntho e fetoleloa, ebe e potoloha, ebe e lekanya. Sena sea utloahala ebile ke seo boholo ba rona re se lebellang. Leha ho le joalo, haeba re sebelisa thepa ea ho fetola, tatellano eo mesebetsi e ngotsoeng ka eona ke tatellano eo e sebelisoang ka eona. Tabeng ena, haeba re tsamaisa ntho ka 100 pixels holim'a X-axis ebe re e potoloha ka likhato tse 45, ha ho tšoane le ho qala ka ho e potoloha ka likhato tse 45 ebe re e tsamaisa 100 pixels. /* Sekwere se pinki: Fetolela pele, ebe o potoloha */ .mohlala o mong { fetola: translateX(100px) rotate(45deg); }
/* Sekwere se setala: Potoloha pele, ebe u fetolela */ .mohlala-pedi { fetola: potoloha(45deg) translateX(100px); }
Sheba Li-Tokens tsa Pen Keyframes - Demo 11 [e ferekoang] ke Amit Sheen. Empa ho ea ka tatellano ea phetoho, motho e mong le e mong oa fetoha - ntho e 'ngoe le e' ngoe eo re e sebelisitseng bakeng sa tokens ea li-keyframes - e etsahala pele liphetoho li sebetsa. Seo se bolela hore eng kapa eng eo u e behileng sebakeng sa phetoho e tla etsahala kamora lipopae. Empa haeba u beha, ho etsa mohlala, ho fetolela hammoho le li-keyframes tsa kf-spin, phetolelo e tla etsahala pele ho animation. Na u ferekane?! Sena se lebisa maemong ao ho ona boleng bo sa fetoheng bo ka bakang liphetho tse fapaneng bakeng sa animation e tšoanang, joalo ka maemong a latelang:
/* Lipopae tse tloaelehileng bakeng sa li-spinners ka bobeli */ .spinner { animation: kf-spin 1s linear infinite; }
/* Pinki spinner: fetolela pele ho potoloha (fetola motho ka mong) */ .spinner-pinki { fetolela: 100% 50%; }
/* Green spinner: potoloha ebe u fetolela (taelo ea ts'ebetso) */ .spinner-tala { fetola: fetolela (100%, 50%); }
Sheba Li-Tokens tsa Pen Keyframes - Demo 12 [e ferekoang] ke Amit Sheen. U ka bona hore spinner ea pele (pinki) e fumana phetolelo e etsahalang pele ho potoloha ha kf-spin, kahoo e qala ho fallela sebakeng sa eona ebe e bilika. Spinner ea bobeli (e tala) e fumana mosebetsi oa ho fetolela () o etsahalang ka mor'a hore motho a fetohe, kahoo ntho e qala ho bilika, ebe e tsamaea ho ea ka lehlakoreng la eona la hona joale, 'me re fumana phello eo e pharaletseng. Che, sena ha se phoso. Ke e 'ngoe ea lintho tseo re hlokang ho li tseba ka CSS le ho li hopola ha re sebetsa ka lipopae tse ngata kapa liphetoho tse ngata. Haeba ho hlokahala, o ka boela oa theha sete ea tlatsetso ea kf-spin-alt keyframes e potolohang likarolo ho sebelisa rotate() tshebetso. Motsamao o Fokotsoeng Mme ha re ntse re bua ka li-keyframes tse ling, re ke ke ra iphapanyetsa khetho ea "no animation". E 'ngoe ea melemo e meholo ea ho sebelisa li-tokens tsa keyframes ke hore phihlello e ka apehoa,' me ho bonolo haholo ho e etsa. Ka ho rala liforeimi tsa rona ka mokhoa oa ho fihlella, re ka etsa bonnete ba hore basebelisi ba ratang ho sisinyeha ho fokotsehileng ba fumana boiphihlelo bo bobebe, bo sa sitiseng, ntle le mosebetsi o mongata kapa ho pheta-pheta khoutu. Moelelo o nepahetseng oa "Motion o Fokotsoeng" o ka fetoha hanyane ho tloha ho animation e 'ngoe ho ea ho e' ngoe, le ho tloha projeke ho ea ho projeke, empa lintlha tse 'maloa tsa bohlokoa tseo u lokelang ho li hopola ke tsena: Ho khutsisa Li-keyframes Le hoja lipopae tse ling li ka nolofatsoa kapa tsa fokotsoa, ho na le tse ling tse lokelang ho nyamela ka ho feletseng ha ho kōptjoa ho fokotsa ho sisinyeha. Lipopae tsa pulse ke mohlala o motle. Ho etsa bonnete ba hore lipopae tsena ha li tsamaee ka mokhoa o fokolitsoeng oa ho sisinyeha, re ka li phuthela feela ka potso e nepahetseng ea media.
@media (ho khetha-ho fokotsoa-ho sisinyeha: ha ho khethoe) { @keyfrmaes kf-pulse { ho tsoa ho { sekala: var(--kf-pulse-scale-from, 1); opacity: var(--kf-pulse-opacity-from, 1); } ho { sekala: var(--kf-pulse-scale-to, 1); opacity:var(--kf-pulse-opacity-to, 1); } } }
Sena se etsa bonnete ba hore basebelisi ba ipehetseng khetho-e fokotsoang ho fokotsa ba ke ke ba bona animation mme ba tla fumana boiphihlelo bo lumellanang le khetho ea bona. Instant In Ho na le li-keyframes tseo re ke keng ra li tlosa habonolo feela, joalo ka lipopae tse kenang. Boleng bo tlameha ho fetoha, bo phele; ho seng joalo, element e ke ke ea ba le litekanyetso tse nepahetseng. Empa ha ho sisinyeha ho fokotsehile, phetoho ena ho tloha boleng ba pele e lokela ho ba hang-hang. Ho fihlela sena, re tla hlalosa sete e 'ngoe ea li-keyframes moo boleng bo nyolohang hang-hang ho fihlela qetellong. Tsena li fetoha li-keyframes tsa rona tsa kamehla. Ka mor'a moo, re tla eketsa li-keyframes tse tloaelehileng ka hare ho potso ea mecha ea litaba bakeng sa khetho-e fokotsoang e behiloeng ho se-khetho, joalo ka mohlala o fetileng. /* kena hang-hang bakeng sa motsamao o fokotsehileng */ @keyframes kf-zoom { ho tloha, ho ea { sekala: var(--kf-zoom-to, 1); } }
@media (ho khetha-ho fokotsoa-ho sisinyeha: ha ho khethoe) { /* Li-keyframes tsa mantlha tsa zoom */ @keyframes kf-zoom { ho tsoa ho { sekala: var(--kf-zoom-from, 0.8); } ho { sekala: var(--kf-zoom-to, 1); } } }
Ka tsela ena, basebelisi ba khethang ho sisinyeha ho fokotsehileng ba tla bona ntho e hlaha hang-hang boemong ba eona ba ho qetela, ha motho e mong le e mong a fumana phetoho ea animated. Mokhoa o Bonolo Ho na le maemo moo re batlang ho boloka motsamao o itseng, empa o le bonolo ebile o khutsitse ho feta animation ea mantlha. Mohlala, re ka nka sebaka sa monyako oa bounce ka ho fade-in ka bonolo.
@keyframes kf-bounce { /* Fade-in e bonolo bakeng sa motsamao o fokotsehileng */ }
@media (ho khetha-ho fokotsoa-ho sisinyeha: ha ho khethoe) { @keyframes kf-bounce { /* Li-keyframes tsa mantlha tsa ho qhomisa */ } }
Hona joale, basebelisi ba nang le ts'ebetso e fokotsehileng e nolofalitsoeng ba ntse ba fumana ponahalo, empa ntle le ho sisinyeha ho matla kapa ho sisinyeha ha rekere. Ha li-block tsa mohaho li le teng, potso e latelang ke mokhoa oa ho etsa hore e be karolo ea mosebetsi oa sebele. Ho ngola li-keyframes tse feto-fetohang ke ntho e le 'ngoe, empa ho etsa hore li tšepahale ho pholletsa le morero o moholo ho hloka maqheka a seng makae ao ke ileng ka tlameha ho ithuta ka thata. Maano a ho Kenngwa Tshebetsong le Mekhoa e Metle ka ho Fetisisa Hang ha re se re e-na le laebrari e tiileng ea li-tokens tsa keyframes, phephetso ea sebele ke mokhoa oa ho li tlisa mosebetsing oa letsatsi le letsatsi.
Moleko ke ho lahlela li-keyframes tsohle ka nako e le 'ngoe le ho phatlalatsa hore bothata bo rarollotsoe, empa ka ts'ebetso ke fumane hore liphello tse ntle ka ho fetisisa li tsoa ho ho amoheloa butle-butle. Qala ka lipopae tse atileng haholo, joalo ka fade kapa slide. Tsena ke litlhōlo tse bonolo tse bonts'ang boleng ba hona joale ntle le ho hloka ho ngola hape. Ho reha mabitso ke ntlha e ’ngoe e lokelang ho eloa hloko. Sehlomathiso se sa fetoheng kapa sebaka sa mabitso se hlakisa hore na ke lipopae life tseo e leng li-tokens le hore na ke life tse amanang le sebaka se le seng. E boetse e thibela ho thulana ka phoso le ho thusa litho tse ncha tsa sehlopha ho lemoha tsamaiso e arolelanoang hang-hang. Litokomane li bohlokoa joalo ka khoutu ka boeona. Le maikutlo a makhutšoane ka holim'a tokene ka 'ngoe ea li-keyframes e ka boloka lihora tsa ho hakanya hamorao. Moqapi o lokela ho khona ho bula faele ea li-tokens, a hlahlobe phello eo a e hlokang, le ho kopitsa mokhoa oa ts'ebeliso ka kotloloho karolong ea bona. Ho tenyetseha ke hona ho etsang hore mokhoa ona e be oa bohlokoa. Ka ho pepesa thepa ea moetlo, re fa lihlopha sebaka sa ho ikamahanya le lipopae ntle le ho senya sistimi. Ka nako e ts'oanang, leka hore u se ke ua rarahana. Fana ka likonopo tse bohlokoa 'me u boloke tse ling kaofela li na le maikutlo. Qetellong, hopola ho fumaneha. Ha se animation e 'ngoe le e' ngoe e hlokang mokhoa o fokolitsoeng oa ho sisinyeha, empa ba bangata baa e etsa. Ho baka litokiso tsena esale pele ho bolela hore ha ho mohla re tla tlameha ho li khutlisa hamorao, 'me ho bontša boemo ba tlhokomelo boo basebelisi ba rona ba tla bo hlokomela le haeba ba sa bo bue.
Boiphihlelo ba ka, ho tšoara li-tokens tsa keyframe e le karolo ea ts'ebetso ea rona ea li-tokens tsa moralo ke hona ho etsang hore li khomarele. Ha li se li le teng, li khaotsa ho ikutloa eka ke liphello tse khethehileng 'me li fetoha karolo ea puo ea moralo, katoloso ea tlhaho ea hore na sehlahisoa se tsamaea joang le ho arabela joang. Ho phethela Lipopae e ka ba e 'ngoe ea likarolo tse thabisang ka ho fetisisa tsa likhokahano tsa meaho, empa ntle le sebopeho, li ka fetoha o mong oa lisosa tse kholo tsa pherekano. Ka ho tšoara li-keyframes e le li-tokens, u nka ntho eo hangata e leng bohlasoa le e thata ho e laola le ho e fetola tsamaiso e hlakileng, e ka tsejoang esale pele. Boleng ba sebele ha se feela ho boloka mela e seng mekae ea khoutu. Ke ka kholiseho ea hore ha u sebelisa fade, slide, zoom, kapa spin, u tseba hantle hore na e tla sebetsa joang mosebetsing. Ke ka ho feto-fetoha ha maemo ho tsoa ho thepa e tloaelehileng ntle le moferefere oa mefuta e sa feleng. 'Me e ka phihlello e hahiloeng motheong ho e-na le ho eketsoa e lemonahano o latelang. Ke bone mehopolo ena e sebetsa lihlopheng tse fapaneng le li-codebase tse fapaneng, 'me mohlala o lula o tšoana. Hang ha li-tokens li se li le teng, li-keyframes li khaotsa ho ba pokello e hasaneng ea maqheka 'me e fetoha karolo ea puo ea moralo. Li etsa hore sehlahisoa se ikutloe se ikemiselitse, se tsitsitse, 'me se phela haholoanyane. Haeba u nka ntho e le 'ngoe sengolong sena, e ke e be sena: lipopae li lokeloa ke tlhokomelo e tšoanang le sebopeho seo re seng re se fa mebala, typography le sebaka. Chelete e nyane ho li-tokens tsa keyframe e lefa nako le nako ha sebopeho sa hau se tsamaea.