Farger

Hex-fargekoder, RGB, HSL og OKLCH forklart

#7c3aed, rgb(124 58 237), hsl(262 83% 58%) og oklch(54.1% 0.247 293) er den samme fiolette fargen. Her er hva hver skrivemåte faktisk sier, og når hver av dem fortjener plassen sin.

GradientlyVerifisert Gradiently-konto··5 min lesetid
Omslag: Mauve Corridor · GR·1BS7·H0

Kortversjonen

  • Hex-fargekoder som #7c3aed er en kompakt måte å skrive verdiene for rødt, grønt og blått fra 0 til 255, hver som to sifre i sekstentallsystemet.
  • RGB, hex og HSL beskriver alle de samme sRGB-fargene, så en farge skrevet i én kan regnes nøyaktig om til de andre.
  • HSL er lett å justere for hånd, men lysverdien samsvarer ikke med hvordan lyse farger faktisk ser ut, så gult og blått på 50 % ser svært ulike ut.
  • OKLCH beskriver farge etter oppfattet lyshet, kroma og fargetone, noe som gjør den til den beste skrivemåten for paletter, toner og myke gradienter.
  • En praktisk regel: del merkevarefarger som hex, og bygg paletter og gradienter i OKLCH.
På denne siden

Hex-fargekoder som #7c3aed er den vanligste måten å skrive en farge på skjerm: en # etterfulgt av seks tegn som angir mengden rødt, grønt og blått. RGB skriver de samme tallene i titallsystemet, HSL omorganiserer dem til fargetone, metning og lyshet, og OKLCH beskriver farge slik øyet oppfatter den. Det er ulike skrivemåter for de samme fargene, og hver er best til sin jobb.

Fem farger brukt som eksempler gjennom hele guiden. Tabellen under skriver hver av dem i alle fire skrivemåtene.

Slik fungerer hex-fargekoder

En hex-kode er tre par sifre i sekstentallsystemet: #RRGGBB. Sekstentallsystemet teller 0 til 9 og deretter a til f, så hvert par går fra 00 (ingenting) til ff (255, full styrke). I #7c3aed er rød 7c (124), grønn er 3a (58) og blå er ed (237): mye blått, en del rødt, lite grønt, altså fiolett. Tre kanaler med 256 verdier gir 16 777 216 mulige farger.

  • Forkortelse: #f0c er det samme som #ff00cc. Hvert siffer dobles, så det fungerer bare for farger der parene gjentar seg.
  • Gjennomsiktighet: en kode med åtte sifre legger til alfa på slutten. #7c3aed80 er fiolett med omtrent 50 % dekning, fordi 80 er 128 av 255.
  • Store og små bokstaver spiller ingen rolle: #7C3AED og #7c3aed er identiske.
  • Grå toner har tre like par: #767676, #1a1a1a og #f4f4f4 er alle nøytrale.

RGB: de samme tallene i titallsystemet

RGB skriver de tre kanalene som vanlige tall fra 0 til 255. Moderne CSS skiller dem med mellomrom og legger til gjennomsiktighet etter en skråstrek, mens den eldre kommasyntaksen og rgba() fortsatt fungerer overalt. RGB er praktisk når et verktøy eller en API ber om tall, eller når du vil lese hva en farge består av med et øyekast.

css
/* All four lines are the same violet */
color: #7c3aed;
color: rgb(124 58 237);
color: rgb(124, 58, 237);
color: hsl(262 83% 58%);

/* The same violet at 50% opacity */
color: #7c3aed80;
color: rgb(124 58 237 / 0.5);
Moderne syntaks med mellomrom øverst, den eldre kommasyntaksen under. Nettlesere godtar begge.

HSL: fargetone, metning og lyshet

HSL beskriver en farge med fargetonen som en vinkel på fargehjulet (0 er rødt, 120 grønt, 240 blått), metningen fra grått (0 %) til full farge (100 %), og lysheten fra svart (0 %) via den rene fargen (50 %) til hvitt (100 %). Den er lett å justere for hånd: for å lage en mørkere fiolett senker du det siste tallet.

Haken er at HSLs lyshet er en formel, ikke et mål på hvor lys en farge ser ut. Gult på 50 % lyshet ser langt lysere ut enn blått på 50 %. Bygger du en palett med lik HSL-lyshet, ser ikke fargene like lyse ut, og det er nettopp derfor standard regnbuer ser stripete ut. Se regnbuegradienter for det synlige resultatet.

OKLCH: farge slik du ser den

OKLCH kommer fra Oklab, et fargerom publisert av Björn Ottosson i 2020 og nå en del av CSS. Den bruker tre verdier: L er oppfattet lyshet fra 0 % til 100 %, C er kroma, hvor fargesterk den er, fra 0 for grått opp til omtrent 0,37 for de mest livlige fargene, og H er fargetonevinkelen. Like L-verdier ser faktisk like lyse ut, så du kan endre én egenskap uten å forstyrre de andre.

FargeHexRGBHSLOKLCH
Fiolett#7c3aed124 58 237262 83% 58%54.1% 0.247 293
Himmel#0ea5e914 165 233199 89% 48%68.5% 0.148 237
Oransje#f97316249 115 2225 95% 53%70.5% 0.187 48
Grønn#16a34a22 163 74142 76% 36%62.7% 0.17 149
Blekk#11182717 24 39221 39% 11%21% 0.032 265
De samme fem fargene i fire skrivemåter. HSL- og OKLCH-verdiene er avrundet. Legg merke til at HSL kaller den grønne mørkere enn den fiolette, mens OKLCH viser at den faktisk er lysere.

OKLCH gjør seg best i gradienter. Når du blander i vanlig sRGB, standarden for hex-farger, trekkes det en rett linje gjennom RGB-kuben, og farger på motsatte sider av hjulet møtes i grått. Å blande i OKLCH bevarer kromaen og går i stedet rundt fargetonehjulet.

De samme to stoppene. I sRGB faller midten til en grå oliven, mens den i OKLCH går gjennom turkis og grønt. Mer i sølete gradienter.
css
.band {
  /* Tell the browser which space to blend in */
  background: linear-gradient(in oklch 90deg, #2563eb, #facc15);
}

:root {
  /* One hue, a scale of equal steps in perceived lightness */
  --violet-90: oklch(90% 0.05 293);
  --violet-70: oklch(70% 0.16 293);
  --violet-54: oklch(54.1% 0.247 293);
  --violet-35: oklch(35% 0.16 293);
  --violet-20: oklch(20% 0.08 293);
}
OKLCH gjør toner og skygger forutsigbare: endre L i jevne steg og senk C nær endene, så fargene holder seg på skjermen.

Hvilken fargekode du bruker hvor

JobbBeste skrivemåteHvorfor
Merkevareguide, overlevering til designHexKort, universell, limes inn i alle verktøy
Gjennomsiktighet i CSSRGB eller hex med 8 sifreTydelig alfa etter skråstreken
Raske justeringer for håndHSLLett å dytte fargetone eller mørkhet
Paletter, toner og skyggerOKLCHLike steg ser like ut
GradienterOKLCHBlander uten grå midtpartier
Skjermer med bredt fargeromOKLCHKan nå farger utenfor sRGB
TrykkCMYK eller spotfargerSkjermkoder trykkes aldri nøyaktig, se å trykke gradienter
Ingen av disse er feil. Ferdigheten er å bruke hver der den hjelper.

For å teste noen av disse verdiene viser oklch.com en farge i alle skrivemåter og advarer når den faller utenfor en skjerms område, og MDNs fargereferanse dekker alle syntaksene. Hvis du velger farger i stedet for å skrive dem, er slik velger du merkevarefarger neste steg, og fargekontrast viser hvordan du sjekker at tekst forblir lesbar.

Spørsmål folk stiller

Hva betyr de seks tegnene i en hex-fargekode?

De er tre par sifre i sekstentallsystemet for rødt, grønt og blått. Hvert par går fra 00 (0) til ff (255), så #7c3aed betyr rød 124, grønn 58, blå 237.

Er hex det samme som RGB?

Ja. Hex er RGB skrevet i sekstentallsystemet. #7c3aed og rgb(124 58 237) er nøyaktig den samme fargen.

Hva er OKLCH?

OKLCH er en fargeskrivemåte basert på fargerommet Oklab. Den beskriver oppfattet lyshet, kroma og fargetone, så like lysverdier ser like lyse ut, og det gjør paletter og gradienter langt mer forutsigbare.

Hvordan legger jeg til gjennomsiktighet i en hex-kode?

Legg til to sifre til for alfa. #7c3aed80 er omtrent 50 % dekning og #7c3aedcc omtrent 80 %. I CSS kan du også skrive rgb(124 58 237 / 0.5).

Hvilken fargekode bør jeg bruke i CSS?

Hex er fint til enkeltfarger. Bruk OKLCH til paletter, toner, mørk modus og gradienter, der den perseptuelle lysheten unngår ujevne steg og grå midtpartier.

Del denne guiden

Skrevet av GradientlyVerifisert Gradiently-konto

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