Cubic-bezier-editori
Suunnittele CSS-easing-käyriä vedettävällä cubic-bezier-editorilla, vertaa niitä lineaariseen animaatioon ja kopioi cubic-bezier()- tai linear()-versio.
Vedä kahta kahvaa (P1 ja P2). Aika kulkee vasemmalta oikealle ja eteneminen alhaalta ylös. Kahvat voivat mennä yli 1:n tai alle 0:n pomppivaa liikettä varten. Kun kahva on kohdistettu, käytä nuolinäppäimiä (Shift: 0,1).
Animaation esikatselu
Animaatio on pysäytetty, koska järjestelmäsi pyytää vähennettyä liikettä. Paina Toista ajaaksesi sen silti.
Sama käyrä näytteistettynä CSS:n linear()-easingiksi (Chrome 113+, Firefox 112+, Safari 17.2+). Mitä enemmän pisteitä, sitä tarkemmin se seuraa käyrää.
Näin käytät cubic-bezier-editoria
- Vedä kaavion kahta kahvaa. P1 (ensimmäinen ohjauspiste) muotoilee liikkeen alun ja P2 lopun. Aika kulkee vasemmalta oikealle ja eteneminen alhaalta ylös.
- Tai kirjoita arvo kenttään cubic-bezier()-arvo: täydellinen
cubic-bezier(0.4, 0, 0.2, 1), neljä lukua tai avainsana, kutenease-in-out. Kentät x1, y1, x2 ja y2 muokkaavat yhtä koordinaattia kerrallaan. - Aloita Esiasetukset-valikosta (CSS-avainsanat, sinestä backiin ulottuvat perheet ja Material Design -käyrät) tai avainsanapainikkeista. Kun käyräsi vastaa esiasetusta, sen nimi näkyy painikkeiden vieressä.
- Seuraa Animaation esikatselua: piste kohdassa Oma käyräsi ja piste kohdassa linear kulkevat saman matkan saman Kesto-arvon aikana. Käytä painikkeita Tauko/Toista ja Aloita alusta vertaillaksesi niitä.
- Kopioi tulos kohdasta CSS-ajoitusfunktio tai kopioi linear()-approksimaatio ja valitse sen Segmentit-määrä.
Näppäimistö: kohdista kahva ja siirrä sitä nuolinäppäimillä 0,01 tai Shiftillä 0,1.
Jos järjestelmäsi on asetettu vähentämään liikettä, animaatio alkaa pysäytettynä. Paina Toista, jos haluat ajaa sen silti.
Työkalu toimii selaimessasi. Mitään kirjoittamaasi ei lähetetä palvelimelle.
Mitä cubic-bezier() tarkoittaa
CSS:n easing-funktio kuvaa siirtymän kuluneen ajan (0–1) sen etenemiseen (0–1). cubic-bezier(x1, y1, x2, y2) kuvaa tämän kuvauksen kolmannen asteen Bézier-käyrällä, joka alkaa pisteestä (0, 0), päättyy pisteeseen (1, 1) ja jota vetävät kaksi ohjauspistettä, P1 = (x1, y1) ja P2 = (x2, y2).
- x-arvot ovat aikoja, ja niiden on pysyttävä välillä 0–1, muuten funktio ei olisi kelvollinen ajoituskäyrä. Editori pitää ne rajoissa.
- y-arvot ovat etenemistä ja voivat mennä alle 0:n tai yli 1:n. Yli 1:n y saa animaation ylittämään kohteensa ja palaamaan takaisin, kuten Back-käyrissä. Alle 0:n se liikkuu ensin taaksepäin.
- Jyrkkä kulmakerroin tarkoittaa nopeaa liikettä ja loiva hidasta.
ease-outalkaa nopeasti ja päättyy hitaasti, mikä tuntuu luonnolliselta ruutuun tuleville elementeille.ease-intekee päinvastoin ja sopii poistuville elementeille.
CSS-avainsanat ovat oikopolkuja: 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) ja linear = (0, 0, 1, 1).
linear()-approksimaatio
Uudempi linear()-funktio luettelee etenemisarvot tasavälein sijoitetuilla ajanhetkillä, esimerkiksi linear(0, 0.25, 0.5, 0.75, 1), ja yhdistää ne suorilla viivoilla. Työkalu näytteistää käyräsi (ratkaisee Bézierin jokaiselle aika-askeleelle) ja kirjoittaa arvot kolmella desimaalilla. 20–40 segmentillä tulos on visuaalisesti identtinen käyrän kanssa. linear():n todellinen hyöty on käyrissä, joita Bézier ei voi piirtää, kuten pomppuissa ja jousissa, mutta sen avulla voi myös jakaa yhden syntaksin. Se toimii Chromessa ja Edgessä 113+, Firefoxissa 112+ ja Safarissa 17.2+, joten säilytä cubic-bezier()-arvo varaversiona.
Usein kysytyt kysymykset
Mihin arvon sijoitan?
Ominaisuuksiin transition-timing-function, animation-timing-function tai lyhennysmerkintään: transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);. Web Animations API hyväksyy sen easing-arvona.
Mitkä ovat hyviä kestoja?
Pienet käyttöliittymämuutokset kestävät yleensä 150–300 ms ja suuret liikkeet ruudun poikki 300–500 ms. Pidemmät animaatiot tuntuvat nopeasti hitailta.
Miksi en voi vetää kahvaa vasemman tai oikean reunan yli?
Koska x on aika, eikä aika voi kulkea taaksepäin: CSS hylkää x-arvot, jotka ovat välin 0–1 ulkopuolella.
Mitä käyriä Material Design käyttää?
Klassinen vakiokäyrä on cubic-bezier(0.4, 0, 0.2, 1), jonka lisäksi on hidastuva, kiihtyvä ja terävä variantti. Material 3 lisää korostetut käyrät. Ne kaikki ovat Esiasetukset-valikossa.
Miten käsittelen vähennetyn liikkeen asetuksen?
Kunnioita CSS:ssäsi sääntöä @media (prefers-reduced-motion: reduce): lyhennä tai poista suuret liikkeet ja säilytä yksinkertaiset häivytykset.
Aiheeseen liittyvät työkalut
- Box-shadow-generaattori Suunnittele kerroksellisia CSS-varjoja reaaliaikaisella esikatselulla. Säädä siirtymä, sumennus, levitys, väri ja sisävarjo, kokeile neumorfismia ja kopioi.
- Flexbox- ja Grid-testialusta Rakenna flexbox- ja CSS Grid -asetteluja visuaalisesti. Aseta säiliön ja kohteiden ominaisuudet, nimeä ruudukon alueet, näe tulos heti ja kopioi CSS ja HTML.
- CSS-liukuvärigeneraattori Luo lineaarisia, säteittäisiä ja kartiomaisia CSS-liukuvärejä reaaliaikaisella esikatselulla. Lisää ja vedä värikohtia, aseta kulma ja kopioi koodi.