Cubic-bezier szerkesztő
Tervezz CSS easing görbéket húzható cubic-bezier szerkesztővel, hasonlítsd össze a lineárissal élő animációban, és másold a cubic-bezier() vagy linear() kódot.
Húzd a két fogantyút (P1 és P2). Az idő balról jobbra, a haladás alulról felfelé telik; a fogantyúk az 1 fölé vagy a 0 alá is mehetnek, így pattogó hatást érhetsz el. Fókuszált fogantyúnál használd a nyílbillentyűket (Shifttel 0,1).
Animáció előnézete
Az animáció szünetel, mert a rendszered csökkentett mozgást kér. A Lejátszás gombbal mégis elindíthatod.
Ugyanaz a görbe CSS linear() easingként mintavételezve (Chrome 113+, Firefox 112+, Safari 17.2+). Több pont pontosabban követi a görbét.
A cubic-bezier szerkesztő használata
- Húzd a két fogantyút a grafikonon. A P1 (az első vezérlőpont) a mozgás elejét, a P2 a végét alakítja. Az idő balról jobbra, a haladás alulról felfelé telik.
- Vagy írj be egy értéket a cubic-bezier() érték mezőbe: egy teljes
cubic-bezier(0.4, 0, 0.2, 1)kifejezést, négy számot vagy egy kulcsszót, példáulease-in-out-ot. Az x1, y1, x2 és y2 mezők egyenként egy koordinátát szerkesztenek. - Indulj az Előbeállítások menüből (CSS-kulcsszavak, a sine-tól a back-ig terjedő családok és a Material Design görbéi) vagy a kulcsszógombokból. Ha a görbéd megegyezik egy előbeállítással, a neve megjelenik a gombok mellett.
- Figyeld az Animáció előnézete részt: A görbéd pontja és a linear pontja ugyanakkora távolságot tesz meg ugyanabban az Időtartamban. A Szünet/Lejátszás és az Újraindítás gombbal összehasonlíthatod őket.
- Az eredményt a CSS időzítési függvény mezőből másolhatod, vagy másold ki a linear() közelítést, és válaszd ki a Szakaszok számát.
Billentyűzet: fókuszálj egy fogantyúra, és a nyílbillentyűkkel 0,01-del, Shifttel 0,1-del mozgathatod.
Ha a rendszered csökkentett mozgásra van állítva, az animáció szüneteltetve indul. Nyomd meg a Lejátszás gombot, ha mégis futtatni szeretnéd.
Mit jelent a cubic-bezier()?
A CSS easing függvény egy átmenet eltelt idejét (0-tól 1-ig) a haladásához (0-tól 1-ig) rendeli. A cubic-bezier(x1, y1, x2, y2) ezt a leképezést egy harmadfokú Bézier-görbével írja le, amely a (0, 0) pontból indul, az (1, 1) pontban végződik, és két vezérlőpont húzza: P1 = (x1, y1) és P2 = (x2, y2).
- Az x értékek idők, és 0 és 1 között kell maradniuk, különben a függvény nem lenne érvényes időzítési görbe. A szerkesztő tartományban tartja őket.
- Az y értékek a haladást jelentik, és 0 alá vagy 1 fölé mehetnek. Az 1 feletti y miatt az animáció túllő a célon, majd visszatér, mint a Back görbéknél; 0 alatt előbb visszafelé mozdul.
- A meredek lejtő gyors, a lapos lejtő lassú mozgást jelent. Az
ease-outgyorsan indul és lassan ér véget, ami természetesnek hat a képernyőre belépő elemeknél. Azease-inennek az ellenkezője, és a távozó elemeknek megfelelő.
A CSS-kulcsszavak rövidítések: 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) és linear = (0, 0, 1, 1).
A linear() közelítés
Az újabb linear() függvény egyenletesen elosztott időpontokhoz sorolja fel a haladási értékeket, például linear(0, 0.25, 0.5, 0.75, 1), és egyenes szakaszokkal köti össze őket. Az eszköz mintát vesz a görbédből (minden időlépésre megoldja a Bézier-egyenletet), és az értékeket három tizedesjeggyel írja ki. 20–40 szakasszal az eredmény vizuálisan azonos a görbével. A linear() valódi haszna azoknál a görbéknél van, amelyeket egy Bézier nem tud megrajzolni, például a pattogásnál és a rugózásnál, de egyetlen szintaxis megosztását is lehetővé teszi. Chrome-ban és Edge-ben 113-tól, Firefoxban 112-től és Safariban 17.2-től működik, ezért tartsd meg tartaléknak a cubic-bezier() értéket.
Gyakori kérdések
Hol használjam az értéket?
A transition-timing-function, az animation-timing-function vagy a rövidített alak esetén: transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);. A Web Animations API easing néven fogadja el.
Mik a jó időtartamok?
A kis felületi változások általában 150–300 ms-ig tartanak; a nagy, képernyőn átívelő mozgások 300–500 ms-ig. A hosszabb animációk gyorsan lassúnak tűnnek.
Miért nem húzhatok fogantyút a bal vagy jobb szélen túlra?
Mert az x az idő, az idő pedig nem mehet visszafelé: a CSS elutasítja a 0–1 tartományon kívüli x értékeket.
Milyen görbéket használ a Material Design?
A klasszikus szabványos görbe a cubic-bezier(0.4, 0, 0.2, 1), lassuló, gyorsuló és éles változatokkal. A Material 3 hozzáteszi a kiemelt görbéket; mind az Előbeállítások menüben van.
Hogyan kezeljem a csökkentett mozgást?
Vedd figyelembe a @media (prefers-reduced-motion: reduce) szabályt a CSS-edben: rövidítsd le vagy hagyd el a nagy mozgásokat, és tartsd meg az egyszerű áttűnéseket.
Kapcsolódó eszközök
- CSS box-shadow generátor Tervezz rétegzett CSS box-shadow árnyékokat élő előnézettel. Állítsd az eltolást, elmosást és színt, próbáld ki a neumorfizmust, és másold a kódot.
- Flexbox és Grid játszótér Építs flexbox és CSS grid elrendezéseket vizuálisan. Állítsd a tároló és az elemek tulajdonságait, nevezz el rácsterületeket, és másold a CSS- és HTML-kódot.
- CSS színátmenet-generátor Készíts lineáris, radiális és kúpos CSS színátmeneteket élő előnézettel. Adj hozzá és húzz színmegállókat, állítsd a szöget, és másold ki a tiszta CSS-kódot.