Kortversjonen
- Gradientinterpolasjon er metoden som beregner hver farge mellom to stopp. Fargerommet beregningen skjer i, endrer resultatet.
- Blanding i sRGB følger en rett linje gjennom røde, grønne og blå verdier, så motsatte farger som blått og gult går gjennom grått.
- OKLab er laget så like trinn ser ut som like endringer for øyet, noe som gir jevnere lyshet gjennom gradienten.
- OKLCH blander lyshet, kroma og fargetone hver for seg, så fargene beholder metningen og går rundt fargesirkelen fremfor gjennom det grå sentrumet.
- I CSS velger du fargerom inne i gradienten, for eksempel
linear-gradient(in oklch, #2563eb, #f97316).
På denne siden
Gradientinterpolasjon er måten fargene mellom stoppene beregnes på. Du velger blått i den ene enden og gult i den andre; programvaren må finne alle fargene imellom. Det gjør den ved å tegne en linje mellom fargene i et fargerom. Valget av rom endrer det du ser. I sRGB går blått til gult gjennom flatt grått. I OKLCH går det gjennom klart petroleumsgrønt. Samme stopp, svært ulike gradienter.
Hva gradientinterpolasjon betyr
Hver farge kan beskrives som et punkt i et rom. I sRGB er de tre aksene rødt, grønt og blått. I OKLab er de lyshet og to motsetningsakser, grønt til rødt og blått til gult. I OKLCH er de lyshet, kroma (hvor fargerik) og fargetone (vinkelen rundt sirkelen). Å interpolere betyr å gå fra ett punkt til det andre. En rett vei gjennom ett rom kan være en kurve, eller en omvei gjennom grått, i et annet.
sRGB, OKLab og OKLCH side om side
Best til
Vær oppmerksom på
Slik blander det
Best til
Vær oppmerksom på
Best til
Vær oppmerksom på
Best til
Vær oppmerksom på
lab, lch, hsl og display-p3.Hvorfor sRGB-gradienter blir grå eller grumsete
sRGB ble laget for skjermer, ikke for øyet. Tallene er gammakodet, og aksene samsvarer ikke med hvordan vi ser fargetone eller lyshet. Når to farger ligger på hver sin side av sirkelen, krysser den rette linjen mellom dem nær det nøytrale sentrumet. Da mister midten fargen. Gjennomsnittet av blått og gult blir #808080. Dette er hovedårsaken til grumsete gradienter, og forklarer hvorfor det hjelper å legge til en brofarge: det ekstra stoppet bøyer veien rundt det grå.
OKLab: jevne trinn for øyet
OKLab, publisert av Björn Ottosson i 2020, ble laget så like avstander ser ut som like forskjeller. Det gir en gradient med jevn endring i lyshet fra ende til ende, uten mørk grop eller lys kul i midten. Rommet følger fortsatt en rett vei, så ekte motsetninger mister noe farge i sentrum, men langt mindre enn i sRGB. Moderne CSS bruker OKLab som standard når en farge i gradienten skrives med nyere syntaks som oklch().
OKLCH: bevar levende farger
OKLCH er samme rom som OKLab, beskrevet i polar form: lyshet, kroma og en fargetonevinkel. Interpolasjon her går rundt sirkelen, så mellomfargene beholder metningen. Det passer livlige gradienter som fremhever merkevaren og regnbuegradienter. Du kan også velge vei rundt sirkelen med shorter hue (standarden), longer hue, increasing hue eller decreasing hue. OKLCH-guiden forklarer rommet grundigere.
Slik setter du gradientinterpolasjon i CSS
Legg til in <space> før stoppene, etter eventuell vinkel eller form. Nettlesere som ikke forstår dette, ignorerer hele deklarasjonen, så skriv først en sRGB-versjon som reserve. Alle rom og nøkkelord for fargetone er listet i MDNs referanse for fargeinterpolasjon, og CSS-gradienter i OKLCH har flere oppskrifter.
.hero {
/* Fallback for older browsers: a bridge stop avoids the grey middle */
background: linear-gradient(135deg, #2563eb, #c026d3, #f97316);
/* Modern browsers: let OKLCH keep the colour */
background: linear-gradient(135deg in oklch, #2563eb, #f97316);
}
.radial {
background: radial-gradient(circle at 30% 30% in oklab, #fde68a, #0f766e);
}
.conic-rainbow {
background: conic-gradient(in oklch longer hue, #ef4444, #ef4444);
}longer hue tegner en hel, jevn regnbue.Hvilket fargerom du bør velge
- 1
Bruk OKLab som standard
For de fleste blandinger med to eller tre farger gir det det jevneste resultatet uten overraskelser.
- 2
Bruk OKLCH til fjerne eller klare farger
Når fargene ligger langt fra hverandre i sirkelen og du vil holde midten lys og fargerik.
- 3
Behold sRGB for å gjengi eldre arbeid
Hvis gradienten må være identisk med en eksisterende ressurs eller et bilde, bland i samme rom som originalen ble laget i.
- 4
Sjekk midtpunktet
Se på fargen halvveis uansett rom. Hvis den er grå eller har en uventet tone, bytt rom eller legg til et stopp.
Gammel vane
- Bland i sRGB og legg til stopp for å skjule grått
- Godta et mørkt søkk i midten
- Velg farger som ligger tett for å være trygg
Bedre
- Bland i OKLab eller OKLCH og bruk færre stopp
- Jevn lyshet fra ende til ende
- Bruk dristigere par og la rommet holde dem rene
Interpolasjon er bare én del av en god blanding. Stopp-plasseringen betyr like mye og dekkes i fargestopp i gradienter. Vil du hoppe over matematikken, er Marks i Gradiently ferdige gradientbakgrunner som gjengis i alle størrelser du designer i. Utviklerdokumentasjonen viser hvordan ChatGPT eller Claude kan søke etter Marks og lage design som åpnes i Studio.
Spørsmål folk stiller
Hva er gradientinterpolasjon?
Beregningen av alle fargene mellom to gradientstopp. Fargerommet beregningen skjer i, som sRGB eller OKLab, endrer fargene som vises i midten.
Hvorfor er gradientene mine grå i midten?
De blandes i sRGB mellom farger på hver sin side av sirkelen, så veien krysser nær grått. Bland i OKLCH eller legg til en brofarge.
Er OKLab eller OKLCH best til gradienter?
OKLab gir de jevneste, mest naturlige blandingene. OKLCH holder fargene mer mettede og passer bedre til livlige par og regnbuer.
Hvordan bruker jeg OKLCH i en CSS-gradient?
Legg til in oklch før fargene, for eksempel linear-gradient(90deg in oklch, #2563eb, #f97316). Skriv først en sRGB-versjon som reserve.
Hvilket fargerom bruker CSS-gradienter som standard?
sRGB når alle fargene bruker eldre syntaks som hex eller rgb(), og OKLab når minst én bruker nyere syntaks som oklch().
Skrevet av Gradiently
Teamet bak Gradiently, et designverktøy bygget rundt Marks: levende gradienter som gjør at alt du designer ser ut som ditt.
Se profilen vår