Cubic-bezier redaktors
Veidojiet CSS easing līknes ar velkamu cubic-bezier redaktoru, salīdziniet tās ar linear tiešajā animācijā un nokopējiet cubic-bezier() vai linear() versiju.
Velciet abus turus (P1 un P2). Laiks iet no kreisās uz labo, progress no apakšas uz augšu; turi var iet virs 1 vai zem 0, lai iegūtu atlēcienu. Ja turis ir fokusā, izmantojiet bulttaustiņus (Shift – 0,1).
Animācijas priekšskatījums
Animācija ir apturēta, jo jūsu sistēma pieprasa samazinātu kustību. Nospiediet Atskaņot, lai to tomēr palaistu.
Tā pati līkne, paraugota kā CSS linear() easing (Chrome 113+, Firefox 112+, Safari 17.2+). Jo vairāk punktu, jo precīzāk tiek sekots līknei.
Kā lietot cubic-bezier redaktoru
- Velciet abus turus grafikā. P1 (pirmais kontrolpunkts) veido kustības sākumu, P2 – beigas. Laiks iet no kreisās uz labo, bet progress no apakšas uz augšu.
- Vai ierakstiet vērtību laukā cubic-bezier() vērtība: pilnu
cubic-bezier(0.4, 0, 0.2, 1), četrus skaitļus vai atslēgvārdu, piemēram,ease-in-out. Lauki x1, y1, x2 un y2 rediģē vienu koordinātu vienlaikus. - Sāciet ar izvēlni Sagataves (CSS atslēgvārdi, ģimenes no sine līdz back un Material Design līknes) vai atslēgvārdu pogām. Kad jūsu līkne sakrīt ar sagatavi, tās nosaukums parādās blakus pogām.
- Vērojiet Animācijas priekšskatījums: punkts uz Jūsu līkne un punkts uz linear veic vienādu attālumu vienā Ilgums. Izmantojiet Pauze/Atskaņot un Sākt no jauna, lai tos salīdzinātu.
- Nokopējiet rezultātu no CSS laika funkcija vai nokopējiet linear() tuvinājums un izvēlieties Segmenti skaitu.
Tastatūra: fokusējiet turi un ar bulttaustiņiem pārvietojiet to par 0,01 vai ar Shift par 0,1.
Ja jūsu sistēma ir iestatīta uz samazinātu kustību, animācija sākas apturēta. Nospiediet Atskaņot, ja vēlaties to tomēr palaist.
Ko nozīmē cubic-bezier()
CSS easing funkcija pārveido pārejas pagājušo laiku (no 0 līdz 1) tās progresā (no 0 līdz 1). cubic-bezier(x1, y1, x2, y2) apraksta šo atbilstību ar kubisko Bezjē (Bézier) līkni, kas sākas punktā (0, 0), beidzas punktā (1, 1) un tiek vilkta ar diviem kontrolpunktiem – P1 = (x1, y1) un P2 = (x2, y2).
- x vērtības ir laiks un tām jāpaliek starp 0 un 1, citādi funkcija nebūtu derīga laika līkne. Redaktors tās notur diapazonā.
- y vērtības ir progress, un tās var būt zem 0 vai virs 1. y virs 1 liek animācijai pārsniegt mērķi un atgriezties, kā Back līknēm; zem 0 tā vispirms kustas atpakaļ.
- Stāvs slīpums nozīmē ātru kustību, plakans – lēnu.
ease-outsākas ātri un beidzas lēni, kas šķiet dabiski elementiem, kas ienāk ekrānā.ease-indara pretējo un der elementiem, kas to atstāj.
CSS atslēgvārdi ir saīsnes: 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) un linear = (0, 0, 1, 1).
linear() tuvinājums
Jaunākā funkcija linear() uzskaita progresa vērtības vienādos laika intervālos, piemēram, linear(0, 0.25, 0.5, 0.75, 1), un savieno tās ar taisnām līnijām. Rīks paraugo jūsu līkni (katram laika solim atrisina Bezjē vienādojumu) un raksta šīs vērtības ar trim cipariem aiz komata. Ar 20 līdz 40 segmentiem rezultāts vizuāli ir identisks līknei. Īstais linear() ieguvums ir līknēm, ko Bezjē nevar uzzīmēt, piemēram, atlēcieniem un atsperēm, taču tā ļauj arī koplietot vienu sintaksi. Tā darbojas Chrome un Edge 113+, Firefox 112+ un Safari 17.2+, tāpēc kā rezerves variantu saglabājiet cubic-bezier() vērtību.
Biežāk uzdotie jautājumi
Kur lietot šo vērtību?
Īpašībā transition-timing-function, animation-timing-function vai saīsinājumā: transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);. Web Animations API to pieņem kā easing.
Kādi ir labi ilgumi?
Nelielas saskarnes izmaiņas parasti ilgst 150 līdz 300 ms; lielas kustības pāri ekrānam – 300 līdz 500 ms. Garākas animācijas ātri šķiet lēnas.
Kāpēc nevaru vilkt turi aiz kreisās vai labās malas?
Tāpēc, ka x ir laiks, un laiks nevar iet atpakaļ: CSS noraida x vērtības ārpus 0–1.
Kādas līknes izmanto Material Design?
Klasiskā standarta līkne ir cubic-bezier(0.4, 0, 0.2, 1) ar palēnināšanās, paātrināšanās un asajiem variantiem. Material 3 pievieno izceltās līknes; visas ir izvēlnē Sagataves.
Kā rīkoties ar samazinātu kustību?
Ievērojiet @media (prefers-reduced-motion: reduce) savā CSS: saīsiniet vai noņemiet lielas kustības un saglabājiet vienkāršas pārejas ar izdzišanu.
Saistītie rīki
- Box-shadow ģenerators Veidojiet slāņotas CSS box-shadow ēnas ar tiešo priekšskatījumu. Iestatiet nobīdi, izplūdumu, krāsu un inset, izmēģiniet neumorfismu un nokopējiet kodu.
- Flexbox un Grid ģenerators Veidojiet flexbox un CSS grid izkārtojumus vizuāli. Iestatiet konteinera un elementu īpašības, nosauciet režģa apgabalus un nokopējiet tīru CSS un HTML kodu.
- CSS gradienta ģenerators Veidojiet lineārus, radiālus un koniskus CSS gradientus ar tiešo priekšskatījumu. Pievienojiet un velciet krāsu pieturas un nokopējiet tīru CSS kodu.