Urejevalnik cubic-bezier
Oblikuj krivulje pospeševanja CSS s premičnim urejevalnikom cubic-bezier, primerjaj jih z linearno v živi animaciji in kopiraj cubic-bezier() ali linear().
Povleci oba ročaja (P1 in P2). Čas teče od leve proti desni, napredek od spodaj navzgor; ročaja lahko gresta nad 1 ali pod 0 za odboj. Ko je ročaj izbran, uporabi smerne tipke (s Shiftom za 0,1).
Predogled animacije
Animacija je zaustavljena, ker tvoj sistem zahteva zmanjšano gibanje. Pritisni Predvajaj, če jo želiš vseeno zagnati.
Ista krivulja, vzorčena kot funkcija pospeševanja CSS linear() (Chrome 113+, Firefox 112+, Safari 17.2+). Več točk natančneje sledi krivulji.
Kako uporabljati urejevalnik cubic-bezier
- Povleci oba ročaja na grafu. P1 (prva kontrolna točka) oblikuje začetek gibanja, P2 konec. Čas teče od leve proti desni, napredek od spodaj navzgor.
- Ali pa vpiši vrednost v polje Vrednost cubic-bezier(): celoten
cubic-bezier(0.4, 0, 0.2, 1), štiri števila ali ključno besedo, kot jeease-in-out. Polja x1, y1, x2 in y2 urejajo po eno koordinato naenkrat. - Začni z menijem Predloge (ključne besede CSS, družine od sine do back in krivulje Material Design) ali z gumbi za ključne besede. Ko se tvoja krivulja ujema s predlogo, je njeno ime prikazano ob gumbih.
- Spremljaj Predogled animacije: pika na Tvoja krivulja in pika na linear prepotujeta enako razdaljo v enakem Trajanje. Z Premor/Predvajaj in Znova ju primerjaš.
- Rezultat kopiraš iz polja Časovna funkcija CSS ali pa kopiraš Približek linear() in izbereš število Odseki.
Tipkovnica: izberi ročaj in ga s smernimi tipkami premakneš za 0,01, s Shiftom pa za 0,1.
Če je tvoj sistem nastavljen na zmanjšano gibanje, se animacija začne zaustavljena. Pritisni Predvajaj, če jo želiš vseeno zagnati.
Orodje deluje v tvojem brskalniku. Nič, kar vneseš, se ne pošlje na strežnik.
Kaj pomeni cubic-bezier()
Funkcija pospeševanja CSS preslika pretekli čas prehoda (od 0 do 1) v njegov napredek (od 0 do 1). cubic-bezier(x1, y1, x2, y2) to preslikavo opiše s kubično Bézierjevo krivuljo, ki se začne v (0, 0), konča v (1, 1) in jo vlečeta dve kontrolni točki, P1 = (x1, y1) in P2 = (x2, y2).
- Vrednosti x so časi in morajo ostati med 0 in 1, sicer funkcija ne bi bila veljavna časovna krivulja. Urejevalnik jih drži v tem območju.
- Vrednosti y so napredek in so lahko pod 0 ali nad 1. Vrednost y nad 1 povzroči, da animacija preseže cilj in se vrne, kot pri krivuljah Back; pod 0 se najprej premakne nazaj.
- Strm naklon pomeni hitro gibanje, položen počasno.
ease-outse začne hitro in konča počasi, kar je naravno za elemente, ki vstopajo na zaslon.ease-inpočne nasprotno in ustreza elementom, ki odhajajo.
Ključne besede CSS so bližnjice: 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) in linear = (0, 0, 1, 1).
Približek linear()
Novejša funkcija linear() našteje vrednosti napredka v enakomerno razporejenih časih, na primer linear(0, 0.25, 0.5, 0.75, 1), in jih poveže z ravnimi črtami. Orodje tvojo krivuljo vzorči (za vsak časovni korak reši Bézierjevo krivuljo) in te vrednosti zapiše na tri decimalke. Z 20 do 40 odseki je rezultat vizualno enak krivulji. Prava prednost funkcije linear() je pri krivuljah, ki jih Bézier ne more narisati, kot so odboji in vzmeti, omogoča pa tudi skupno sintakso. Deluje v Chromu in Edgeu 113+, Firefoxu 112+ in Safariju 17.2+, zato vrednost cubic-bezier() obdrži kot rezervo.
Pogosta vprašanja
Kje uporabim vrednost?
V transition-timing-function, animation-timing-function ali v skrajšanem zapisu: transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);. API Web Animations jo sprejme kot easing.
Kakšna so dobra trajanja?
Majhne spremembe vmesnika običajno trajajo od 150 do 300 ms, veliki premiki čez zaslon od 300 do 500 ms. Daljše animacije hitro delujejo počasno.
Zakaj ne morem povleči ročaja čez levi ali desni rob?
Ker je x čas, čas pa ne more teči nazaj: CSS zavrne vrednosti x zunaj 0–1.
Katere krivulje uporablja Material Design?
Klasična standardna krivulja je cubic-bezier(0.4, 0, 0.2, 1), z različicami za pojemanje, pospeševanje in ostro. Material 3 doda poudarjene krivulje; vse so v meniju Predloge.
Kako ravnam z zmanjšanim gibanjem?
Upoštevaj @media (prefers-reduced-motion: reduce) v svojem CSS: skrajšaj ali odstrani velike premike in obdrži preprosta pojemanja prosojnosti.
Sorodna orodja
- Generator sence elementa (box-shadow) Oblikuj večplastne CSS-sence z živim predogledom. Nastavi odmik, zamegljenost, razširitev, barvo, neprosojnost in inset, preizkusi neumorfizem in kopiraj kodo.
- Igrišče za Flexbox in Grid Vizualno ustvari postavitve flexbox in CSS grid. Nastavi lastnosti vsebnika in elementov, poimenuj območja mreže, glej rezultat sproti in kopiraj CSS ter HTML.
- Generator CSS prelivov Ustvari linearne, radialne in konusne CSS-prelive z živim predogledom. Dodajaj in vleci barvne postaje, nastavi kot in z enim klikom kopiraj čisto kodo CSS.