Cubic-bezier redaktorius
Kurk CSS easing kreives tempiamu cubic-bezier redaktoriumi, lygink jas su linear gyvoje animacijoje ir nukopijuok cubic-bezier() arba linear() versiją.
Tempk dvi rankenėles (P1 ir P2). Laikas eina iš kairės į dešinę, pažanga iš apačios į viršų; rankenėlės gali būti virš 1 arba žemiau 0, kad gautum atšokimą. Pasirink rankenėlę ir naudok rodyklių klavišus (su Shift – po 0,1).
Animacijos peržiūra
Animacija pristabdyta, nes tavo sistema prašo sumažinto judesio. Paspausk „Paleisti“, jei vis tiek nori ją pamatyti.
Ta pati kreivė, paimta kaip CSS linear() easing (Chrome 113+, Firefox 112+, Safari 17.2+). Kuo daugiau taškų, tuo tiksliau seka kreivę.
Kaip naudotis cubic-bezier redaktoriumi
- Tempk dvi grafiko rankenėles. P1 (pirmas valdymo taškas) formuoja judesio pradžią, P2 – pabaigą. Laikas eina iš kairės į dešinę, o pažanga iš apačios į viršų.
- Arba įrašyk reikšmę į cubic-bezier() reikšmė: pilną
cubic-bezier(0.4, 0, 0.2, 1), keturis skaičius arba raktažodį, pvz.,ease-in-out. Laukeliai x1, y1, x2 ir y2 redaguoja po vieną koordinatę. - Pradėk nuo meniu Šablonai (CSS raktažodžiai, šeimos nuo sine iki back ir „Material Design“ kreivės) arba raktažodžių mygtukų. Kai tavo kreivė sutampa su šablonu, jo pavadinimas rodomas šalia mygtukų.
- Stebėk Animacijos peržiūra: taškas ties Tavo kreivė ir taškas ties linear nukeliauja tą patį atstumą per tą pačią Trukmė. Naudok Pristabdyti / Paleisti ir Pradėti iš naujo, kad palygintum.
- Nukopijuok rezultatą iš CSS laiko funkcija arba nukopijuok linear() aproksimacija ir pasirink jos Segmentai skaičių.
Klaviatūra: pasirink rankenėlę ir rodyklių klavišais perkelk ją po 0,01 arba po 0,1 su Shift.
Jei tavo sistema nustatyta sumažinti judesį, animacija prasideda pristabdyta. Paspausk Paleisti, jei vis tiek nori ją paleisti.
Veikia tavo naršyklėje. Nieko, ką įvedi, nesiunčiame į serverį.
Ką reiškia cubic-bezier()
CSS easing funkcija susieja praėjusį perėjimo laiką (nuo 0 iki 1) su jo pažanga (nuo 0 iki 1). cubic-bezier(x1, y1, x2, y2) šį susiejimą aprašo kubine Bézier kreive, kuri prasideda (0, 0), baigiasi (1, 1) ir yra patraukiama dviejų valdymo taškų, P1 = (x1, y1) ir P2 = (x2, y2).
- x reikšmės yra laikas ir turi likti tarp 0 ir 1, kitaip funkcija nebūtų galiojanti laiko kreivė. Redaktorius jas laiko ribose.
- y reikšmės yra pažanga ir gali būti žemiau 0 arba virš 1. y virš 1 priverčia animaciją perlenkti tikslą ir grįžti, kaip Back kreivės; žemiau 0 ji pirmiausia juda atgal.
- Status nuolydis reiškia greitą judesį, plokščias – lėtą.
ease-outprasideda greitai ir baigiasi lėtai, o tai atrodo natūralu elementams, įeinantiems į ekraną.ease-indaro priešingai ir tinka išeinantiems elementams.
CSS raktažodžiai yra trumpiniai: 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) ir linear = (0, 0, 1, 1).
linear() aproksimacija
Naujesnė linear() funkcija išvardija pažangos reikšmes tolygiai išdėstytais laiko momentais, pavyzdžiui, linear(0, 0.25, 0.5, 0.75, 1), ir sujungia jas tiesiomis atkarpomis. Įrankis paima tavo kreivės mėginius (kiekvienam laiko žingsniui išsprendžia Bézier lygtį) ir užrašo tas reikšmes trimis ženklais po kablelio. Su 20–40 segmentų rezultatas vizualiai nesiskiria nuo kreivės. Tikroji linear() nauda yra kreivėms, kurių Bézier nepiešia, pvz., atšokimams ir spyruoklėms, bet ji taip pat leidžia dalytis viena sintakse. Veikia „Chrome“ ir „Edge“ 113+, „Firefox“ 112+ ir „Safari“ 17.2+, todėl cubic-bezier() reikšmę pasilik kaip atsarginę.
Dažnai užduodami klausimai
Kur naudoti reikšmę?
transition-timing-function, animation-timing-function arba trumpinyje: transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);. Web Animations API ją priima kaip easing.
Kokios trukmės yra geros?
Maži sąsajos pokyčiai paprastai trunka 150–300 ms; dideli judesiai per ekraną – 300–500 ms. Ilgesnės animacijos greitai pasirodo lėtos.
Kodėl negaliu nutempti rankenėlės už kairiojo ar dešiniojo krašto?
Nes x yra laikas, o laikas negali eiti atgal: CSS atmeta x reikšmes už 0–1 ribų.
Kokias kreives naudoja Material Design?
Klasikinė standartinė kreivė yra cubic-bezier(0.4, 0, 0.2, 1) su lėtėjimo, greitėjimo ir staigiomis atmainomis. Material 3 prideda pabrėžtas kreives; visos yra meniu Šablonai.
Kaip elgtis su sumažintu judesiu?
Gerbk @media (prefers-reduced-motion: reduce) savo CSS: sutrumpink arba pašalink didelius judesius ir palik paprastus išblukimus.
Susiję įrankiai
- Box shadow generatorius Kurk sluoksniuotus CSS box-shadow šešėlius su gyva peržiūra. Nustatyk poslinkį, suliejimą, spalvą, nepermatomumą ir inset, išbandyk šablonus ir nukopijuok kodą.
- Flexbox ir Grid žaidimų aikštelė Kurk flexbox ir CSS grid maketus vaizdžiai. Nustatyk konteinerio ir elementų savybes, pavadink grid sritis, matyk rezultatą gyvai ir kopijuok CSS bei HTML.
- CSS gradiento generatorius Kurk tiesinius, radialinius ir kūginius CSS gradientus su gyva peržiūra. Pridėk ir tempk spalvų taškus, nustatyk kampą ir nukopijuok CSS kodą.