Уредник на cubic-bezier
Дизајнирајте CSS кривини за easing со уредник cubic-bezier што се влече, споредете ги со linear во анимација во живо и копирајте cubic-bezier() или linear().
Повлечете ги двете рачки (P1 и P2). Времето тече од лево кон десно, напредокот од долу кон горе; рачките може да одат над 1 или под 0 за ефект на отскокнување. Со фокусирана рачка користете ги стрелките (Shift за 0,1).
Преглед на анимацијата
Анимацијата е паузирана бидејќи вашиот систем бара намалено движење. Притиснете Пушти за да ја извршите сепак.
Истата кривина земена како CSS linear() easing (Chrome 113+, Firefox 112+, Safari 17.2+). Повеќе точки ја следат кривината поблиску.
Како да го користите уредникот на cubic-bezier
- Повлечете ги двете рачки на графиконот. P1 (првата контролна точка) го обликува почетокот на движењето, P2 крајот. Времето тече од лево кон десно, а напредокот од долу кон горе.
- Или внесете вредност во Вредност cubic-bezier(): цело
cubic-bezier(0.4, 0, 0.2, 1), четири броја или клучен збор какоease-in-out. Полињата x1, y1, x2 и y2 уредуваат по една координата. - Почнете од менито Готови кривини (CSS клучни зборови, фамилиите од sine до back и кривините на Material Design) или од копчињата со клучни зборови. Кога вашата кривина одговара на готова, нејзиното име се прикажува до копчињата.
- Погледнете го Преглед на анимацијата: точката на Вашата кривина и точката на linear минуваат исто растојание за исто Времетраење. Користете Пауза/Пушти и Рестартирај за да ги споредите.
- Копирајте го резултатот од CSS функција за време или копирајте ја Апроксимација со linear() и изберете го бројот на Сегменти.
Тастатура: фокусирајте рачка и користете ги стрелките за да ја поместите за 0,01 или 0,1 со Shift.
Ако вашиот систем е поставен да го намали движењето, анимацијата почнува паузирана. Притиснете Пушти ако сакате сепак да се изврши.
Алатката работи во вашиот прелистувач. Ништо од внесеното не се испраќа на сервер.
Што значи cubic-bezier()
CSS функцијата за easing го пресликува изминатото време на премин (0 до 1) во неговиот напредок (0 до 1). cubic-bezier(x1, y1, x2, y2) го опишува ова пресликување со кубна Безиева кривина што почнува во (0, 0), завршува во (1, 1) и се влече од две контролни точки, P1 = (x1, y1) и P2 = (x2, y2).
- Вредностите x се времиња и мора да останат меѓу 0 и 1, инаку функцијата не би била валидна кривина на време. Уредникот ги држи во опсег.
- Вредностите y се напредок и може да одат под 0 или над 1. y над 1 ја прави анимацијата да ја надмине целта и да се врати, како кривините Back; под 0 најпрво се движи наназад.
- Стрмен наклон значи брзо движење, рамен бавно.
ease-outпочнува брзо и завршува бавно, што делува природно за елементи што влегуваат на екранот.ease-inправи спротивно и одговара на елементи што излегуваат.
CSS клучните зборови се кратенки: 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) и linear = (0, 0, 1, 1).
Апроксимацијата со linear()
Понововата функција linear() наведува вредности на напредок во еднакво распоредени времиња, на пример linear(0, 0.25, 0.5, 0.75, 1), и ги поврзува со прави линии. Алатката ја зема вашата кривина (ја решава Безиевата за секој временски чекор) и ги запишува вредностите со три децимали. Со 20 до 40 сегменти резултатот е визуелно идентичен со кривината. Вистинската корист од linear() е за кривини што Безиева не може да ги нацрта, како отскокнување и пружини, но овозможува и споделување на една синтакса. Работи во Chrome и Edge 113+, Firefox 112+ и Safari 17.2+, па задржете ја вредноста cubic-bezier() како резервна.
Често поставувани прашања
Каде да ја користам вредноста?
Во transition-timing-function, animation-timing-function или скратениот запис: transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);. Web Animations API ја прифаќа како easing.
Кои се добри времетраења?
Малите промени на UI обично траат 150 до 300 ms; големите движења низ екранот 300 до 500 ms. Подолгите анимации брзо делуваат бавно.
Зошто не можам да повлечам рачка преку левиот или десниот раб?
Затоа што x е време, а времето не може да оди наназад: CSS ги отфрла вредностите на x надвор од 0–1.
Кои кривини ги користи Material Design?
Класичната стандардна кривина е cubic-bezier(0.4, 0, 0.2, 1), со варијанти за забавување, забрзување и остри. Material 3 ги додава нагласените кривини; сите се во менито Готови кривини.
Како да се справам со намалено движење?
Почитувајте @media (prefers-reduced-motion: reduce) во вашиот CSS: скратете или отстранете големи движења и задржете едноставни избледнувања.
Поврзани алатки
- Генератор на box-shadow Креирајте слоевити CSS сенки со преглед во живо. Подесете поместување, заматување, ширење, боја, провидност и inset, пробајте неуморфизам и копирајте го кодот.
- Flexbox и Grid игралиште Градете flexbox и CSS grid распореди визуелно. Подесете својства на контејнер и елементи, именувајте области, видете резултат во живо и копирајте CSS и HTML.
- Генератор на CSS градиент Создавајте линеарни, радијални и конусни CSS градиенти со преглед во живо. Додавајте и влечете точки на боја, подесете агол и копирајте чист CSS код.