Editor cubic-bezier
Navrhni easing krivky CSS v editore cubic-bezier s úchytmi, porovnaj ich s lineárnym pohybom v živej animácii a skopíruj cubic-bezier() alebo linear().
Presúvaj dva úchyty (P1 a P2). Čas plynie zľava doprava, pokrok zdola nahor; úchyty môžu ísť nad 1 alebo pod 0 pre efekt odrazu. Pri aktívnom úchyte použi šípky (so Shiftom 0,1).
Náhľad animácie
Animácia je pozastavená, pretože tvoj systém žiada obmedzený pohyb. Stlačením Prehrať ju napriek tomu spustíš.
Tá istá krivka vzorkovaná ako easing CSS linear() (Chrome 113+, Firefox 112+, Safari 17.2+). Viac bodov sleduje krivku presnejšie.
Ako používať editor cubic-bezier
- Presúvaj dva úchyty na grafe. P1 (prvý riadiaci bod) tvaruje začiatok pohybu, P2 jeho koniec. Čas ide zľava doprava a pokrok zdola nahor.
- Alebo zadaj hodnotu do poľa Hodnota cubic-bezier(): celé
cubic-bezier(0.4, 0, 0.2, 1), štyri čísla alebo kľúčové slovo akoease-in-out. Polia x1, y1, x2 a y2 upravujú vždy jednu súradnicu. - Začni z ponuky Predvoľby (kľúčové slová CSS, rodiny od sine po back a krivky Material Design) alebo z tlačidiel s kľúčovými slovami. Keď tvoja krivka zodpovedá predvoľbe, jej názov sa zobrazí vedľa tlačidiel.
- Sleduj Náhľad animácie: bod na Tvoja krivka a bod na linear prejdú rovnakú vzdialenosť v rovnakom Trvaní. Pomocou Pozastaviť/Prehrať a Reštartovať ich porovnáš.
- Výsledok skopíruj z Funkcie časovania CSS alebo skopíruj Aproximáciu linear() a vyber počet Segmentov.
Klávesnica: aktivuj úchyt a šípkami ho posúvaj o 0,01, alebo so Shiftom o 0,1.
Ak je tvoj systém nastavený na obmedzenie pohybu, animácia sa spustí pozastavená. Ak ju chceš napriek tomu spustiť, stlač Prehrať.
Nástroj funguje v tvojom prehliadači. Nič, čo zadáš, sa neodosiela na server.
Čo znamená cubic-bezier()
Easing funkcia CSS priraďuje uplynutému času prechodu (0 až 1) jeho pokrok (0 až 1). cubic-bezier(x1, y1, x2, y2) toto priradenie opisuje kubickou Bézierovou krivkou, ktorá začína v (0, 0), končí v (1, 1) a je ťahaná dvoma riadiacimi bodmi, P1 = (x1, y1) a P2 = (x2, y2).
- Hodnoty x sú časy a musia zostať medzi 0 a 1, inak by funkcia nebola platnou krivkou časovania. Editor ich drží v rozsahu.
- Hodnoty y sú pokrok a môžu ísť pod 0 alebo nad 1. Y nad 1 spôsobí, že animácia prestrelí cieľ a vráti sa, ako pri krivkách Back; pod 0 sa najprv pohne dozadu.
- Strmý sklon znamená rýchly pohyb, plochý pomalý.
ease-outzačína rýchlo a končí pomaly, čo pôsobí prirodzene pri prvkoch vstupujúcich na obrazovku.ease-inrobí opak a hodí sa pre prvky, ktoré obrazovku opúšťajú.
Kľúčové slová CSS sú skratky: ease = cubic-bezier(0.25, 0.1, 0.25, 1), ease-in = (0.42, 0, 1, 1), ease-out = (0, 0, 0.58, 1), ease-in-out = (0.42, 0, 0.58, 1) a linear = (0, 0, 1, 1).
Aproximácia linear()
Novšia funkcia linear() uvádza hodnoty pokroku v rovnomerne rozložených časoch, napríklad linear(0, 0.25, 0.5, 0.75, 1), a spája ich priamkami. Nástroj vzorkuje tvoju krivku (pre každý časový krok vyrieši Bézierovu krivku) a zapíše tieto hodnoty na tri desatinné miesta. Pri 20 až 40 segmentoch je výsledok vizuálne totožný s krivkou. Skutočný prínos linear() je pri krivkách, ktoré Bézier nenakreslí, ako sú odrazy a pružiny, no umožňuje aj zdieľať jednu syntax. Funguje v Chrome a Edge 113+, Firefoxe 112+ a Safari 17.2+, preto si hodnotu cubic-bezier() ponechaj ako záložnú.
Často kladené otázky
Kde túto hodnotu použijem?
V transition-timing-function, animation-timing-function alebo v skrátenom zápise: transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);. Web Animations API ju prijíma ako easing.
Aké sú dobré trvania?
Malé zmeny rozhrania zvyčajne trvajú 150 až 300 ms; veľké pohyby cez obrazovku 300 až 500 ms. Dlhšie animácie rýchlo pôsobia pomaly.
Prečo nemôžem potiahnuť úchyt za ľavý alebo pravý okraj?
Pretože x je čas a čas nemôže ísť dozadu: CSS zamieta hodnoty x mimo 0–1.
Aké krivky používa Material Design?
Klasická štandardná krivka je cubic-bezier(0.4, 0, 0.2, 1) s variantmi decelerate, accelerate a sharp. Material 3 pridáva zdôraznené krivky; všetky sú v ponuke Predvoľby.
Ako riešiť obmedzený pohyb?
Rešpektuj @media (prefers-reduced-motion: reduce) vo svojom CSS: skráť alebo odstráň veľké pohyby a ponechaj jednoduché prelínanie.
Súvisiace nástroje
- Generátor box-shadow Navrhni vrstvené CSS tiene box-shadow so živým náhľadom. Nastav posun, rozostrenie, rozšírenie, farbu, krytie a inset, vyskúšaj neumorfizmus a skopíruj kód.
- Generátor flexbox a CSS Grid Vytvor rozloženia flexbox a CSS Grid vizuálne. Nastav vlastnosti kontajnera a položiek, pomenuj oblasti mriežky, sleduj výsledok naživo a skopíruj CSS a HTML.
- Generátor CSS gradientov Vytvor lineárne, radiálne a kužeľové farebné prechody CSS so živým náhľadom. Pridávaj a presúvaj farebné zarážky, nastav uhol a jedným kliknutím skopíruj kód.