Utilia

Redaktor cubic-bezier

Projekto kurba easing CSS me redaktor cubic-bezier me doreza, krahasoji me linear në animacion live dhe kopjo cubic-bezier() ose versionin linear().

Zhvendos dy dorezat (P1 dhe P2). Koha vrapon nga e majta në të djathtë, përparimi nga poshtë lart; dorezat mund të shkojnë mbi 1 ose nën 0 për një kërcim. Me një dorezë të fokusuar, përdor shigjetat (Shift për 0,1).

Pikat e kontrollit

Pamja paraprake e animacionit

Kurba jote
linear

E njëjta kurbë e mostruar si easing CSS linear() (Chrome 113+, Firefox 112+, Safari 17.2+). Më shumë pika e ndjekin kurbën më nga afër.

Si ta përdorësh redaktorin cubic-bezier

  1. Zhvendos dy dorezat në grafik. P1 (pika e parë e kontrollit) formëson fillimin e lëvizjes, P2 fundin. Koha vrapon nga e majta në të djathtë dhe përparimi nga poshtë lart.
  2. Ose shkruaj një vlerë te Vlera cubic-bezier(): një cubic-bezier(0.4, 0, 0.2, 1) të plotë, katër numra, ose një fjalë kyçe si ease-in-out. Fushat x1, y1, x2 dhe y2 ndryshojnë një koordinatë në herë.
  3. Nise nga menuja Gatishmëri (fjalë kyçe CSS, familjet nga sine te back dhe kurbat Material Design) ose nga butonat e fjalëve kyçe. Kur kurba jote përputhet me një gatishmëri, emri i saj shfaqet pranë butonave.
  4. Shiko Pamjen paraprake të animacionit: pika te Kurba jote dhe pika te linear udhëtojnë të njëjtën largësi në të njëjtën Kohëzgjatje. Përdor Pusho/Luaj dhe Rinis për t’i krahasuar.
  5. Kopjo rezultatin nga Funksioni kohor CSS, ose kopjo përafrimin linear() dhe zgjidh numrin e Segmenteve.

Tastierë: fokuso një dorezë dhe përdor shigjetat për ta lëvizur me 0,01, ose 0,1 me Shift.

Nëse sistemi yt është caktuar të reduktojë lëvizjen, animacioni nis i pezulluar. Shtyp Luaj nëse do ta nisësh gjithsesi.

Çfarë do të thotë cubic-bezier()

Një funksion easing CSS e lidh kohën e kaluar të një tranzicioni (0 deri 1) me përparimin e tij (0 deri 1). cubic-bezier(x1, y1, x2, y2) e përshkruan këtë lidhje me një kurbë kubike Bézier që nis në (0, 0), mbaron në (1, 1) dhe tërhiqet nga dy pika kontrolli, P1 = (x1, y1) dhe P2 = (x2, y2).

  • Vlerat x janë kohë dhe duhet të qëndrojnë mes 0 dhe 1, përndryshe funksioni nuk do të ishte kurbë e vlefshme kohore. Redaktori i mban brenda kufijve.
  • Vlerat y janë përparim dhe mund të shkojnë nën 0 ose mbi 1. Një y mbi 1 e bën animacionin të tejkalojë objektivin e vet dhe të kthehet, si kurbat Back; nën 0 fillimisht lëviz prapa.
  • Një pjerrësi e madhe do të thotë lëvizje e shpejtë, një pjerrësi e sheshtë lëvizje e ngadaltë. ease-out nis shpejt dhe mbaron ngadalë, gjë që duket natyrale për elementët që hyjnë në ekran. ease-in bën të kundërtën dhe i përshtatet elementëve që dalin.

Fjalët kyçe CSS janë shkurtore: 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) dhe linear = (0, 0, 1, 1).

Përafrimi linear()

Funksioni më i ri linear() rendit vlera përparimi në kohë me largësi të barabartë, për shembull linear(0, 0.25, 0.5, 0.75, 1), dhe i lidh me vija të drejta. Mjeti e mostron kurbën tënde (e zgjidh Bézier për çdo hap kohe) dhe i shkruan ato vlera me tri shifra pas presjes. Me 20 deri 40 segmente rezultati është vizualisht identik me kurbën. Përfitimi real i linear() është për kurba që një Bézier nuk mund t’i vizatojë, si kërcimet dhe sustat, por të lejon edhe të ndash një sintaksë të vetme. Funksionon në Chrome dhe Edge 113+, Firefox 112+ dhe Safari 17.2+, prandaj mbaje vlerën cubic-bezier() si rezervë.

Pyetje të shpeshta

Ku e përdor vlerën?

Në transition-timing-function, animation-timing-function, ose shkurtoren: transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);. API-ja Web Animations e pranon si easing.

Cilat janë kohëzgjatjet e mira?

Ndryshimet e vogla të ndërfaqes zakonisht zgjasin 150 deri 300 ms; lëvizjet e mëdha nëpër ekran 300 deri 500 ms. Animacionet më të gjata shpejt duken të ngadalta.

Pse nuk mund ta zhvendos një dorezë përtej skajit të majtë ose të djathtë?

Sepse x është kohë, dhe koha nuk shkon mbrapsht: CSS i refuzon vlerat x jashtë 0–1.

Cilat kurba i përdor Material Design?

Kurba standarde klasike është cubic-bezier(0.4, 0, 0.2, 1), me variante decelerate, accelerate dhe sharp. Material 3 shton kurbat emphasized; të gjitha janë në menunë Gatishmëri.

Si ta trajtoj lëvizjen e reduktuar?

Respekto @media (prefers-reduced-motion: reduce) në CSS-in tënd: shkurto ose hiq lëvizjet e mëdha dhe mbaj zbehjet e thjeshta.