Kort fortalt
- Hex-farvekoder som
#7c3aeder en kompakt måde at skrive værdier for rød, grøn og blå fra 0 til 255, hver som to cifre i base 16. - RGB, hex og HSL beskriver alle de samme sRGB-farver, så en farve skrevet i én kan omregnes præcist til de andre.
- HSL er nem at justere i hånden, men dens lysstyrkeværdi svarer ikke til, hvor lyse farver faktisk ser ud, så gul og blå ved 50 % ser meget forskellige ud.
- OKLCH beskriver farve ud fra opfattet lysstyrke, kromatik og farvetone, hvilket gør den til den bedste notation til paletter, toner og bløde gradienter.
- En praktisk tommelfingerregel: del brandfarver som hex, og byg paletter og gradienter i OKLCH.
På denne side
Hex-farvekoder som #7c3aed er den mest almindelige måde at skrive en farve på en skærm: et # efterfulgt af seks tegn, der angiver mængden af rød, grøn og blå. RGB skriver de samme tal i decimal, HSL ordner dem om til farvetone, mætning og lysstyrke, og OKLCH beskriver farve, sådan som øjet opfatter den. Det er forskellige notationer for de samme farver, og hver er bedst til sin opgave.
Sådan virker hex-farvekoder
En hexkode er tre par cifre i base 16: #RRGGBB. Base 16 tæller fra 0 til 9 og derefter a til f, så hvert par går fra 00 (ingen) til ff (255, fuld styrke). I #7c3aed er rød 7c (124), grøn er 3a (58), og blå er ed (237): meget blå, en del rød og lidt grøn, altså violet. Tre kanaler med 256 værdier giver 16.777.216 mulige farver.
- Forkortelse:
#f0cer det samme som#ff00cc. Hvert ciffer fordobles, så det kun virker for farver, hvis par gentager sig. - Gennemsigtighed: en kode med otte cifre tilføjer alfa til sidst.
#7c3aed80er violetten ved omkring 50 % dækning, fordi80er 128 ud af 255. - Store og små bogstaver er ligegyldigt:
#7C3AEDog#7c3aeder identiske. - Grå har tre ens par:
#767676,#1a1a1aog#f4f4f4er alle neutrale.
RGB: de samme tal i decimal
RGB skriver de tre kanaler som almindelige tal fra 0 til 255. Moderne CSS adskiller dem med mellemrum og tilføjer gennemsigtighed efter en skråstreg. Den ældre syntaks med kommaer og rgba() virker stadig overalt. RGB er praktisk, når et værktøj eller et API beder om tal, eller når du vil aflæse en farves sammensætning med det samme.
/* 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);HSL: farvetone, mætning og lysstyrke
HSL beskriver en farve ud fra dens farvetone som en vinkel på farvehjulet (0 er rød, 120 grøn, 240 blå), dens mætning fra grå (0 %) til fuld farve (100 %) og dens lysstyrke fra sort (0 %) via den rene farve (50 %) til hvid (100 %). Den er nem at justere i hånden: for at lave en mørkere violet sænker du det sidste tal.
Haken er, at HSL’s lysstyrke er en formel og ikke en måling af, hvor lys en farve ser ud. Gul ved 50 % lysstyrke ser langt lysere ud end blå ved 50 %. Bygger du en palet ved at holde HSL-lysstyrken ens, vil farverne ikke se lige lyse ud, og det er netop derfor, standardregnbuer ser stribede ud. Se regnbuegradienter for det synlige resultat.
OKLCH: farve, som du ser den
OKLCH stammer fra Oklab, et farverum udgivet af Björn Ottosson i 2020 og nu en del af CSS. Det bruger tre værdier: L er opfattet lysstyrke fra 0 % til 100 %, C er kromatik, altså hvor farverig den er, fra 0 for grå op til omkring 0,37 for de mest levende farver, og H er farvetonens vinkel. Lige store L-værdier ser rent faktisk lige lyse ud, så du kan ændre én egenskab uden at forstyrre de andre.
| Farve | Hex | RGB | HSL | OKLCH |
|---|---|---|---|---|
| Violet | #7c3aed | 124 58 237 | 262 83% 58% | 54.1% 0.247 293 |
| Himmelblå | #0ea5e9 | 14 165 233 | 199 89% 48% | 68.5% 0.148 237 |
| Orange | #f97316 | 249 115 22 | 25 95% 53% | 70.5% 0.187 48 |
| Grøn | #16a34a | 22 163 74 | 142 76% 36% | 62.7% 0.17 149 |
| Blæk | #111827 | 17 24 39 | 221 39% 11% | 21% 0.032 265 |
OKLCH udmærker sig i gradienter. Blander du i almindelig sRGB, som er standard for hexfarver, tegnes en ret linje gennem RGB-terningen, og farver på hver sin side af hjulet mødes i gråt. Blander du i OKLCH, bevares kromatikken, og blandingen bevæger sig i stedet rundt om farvehjulet.
.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);
}Hvilken farvekode du bruger hvor
| Opgave | Bedste notation | Hvorfor |
|---|---|---|
| Brandguide, overlevering af design | Hex | Kort, universel, kan indsættes i alle værktøjer |
| Gennemsigtighed i CSS | RGB eller hex med 8 cifre | Tydelig alfa efter skråstregen |
| Hurtige justeringer i hånden | HSL | Nem at nudge farvetone eller mørkhed |
| Paletter, toner og skygger | OKLCH | Lige trin ser lige ud |
| Gradienter | OKLCH | Blander uden grå midte |
| Skærme med bredt farverum | OKLCH | Kan nå farver uden for sRGB |
| Tryk | CMYK eller specialfarver | Skærmkoder trykkes aldrig helt præcist. Se tryk af gradienter |
Til at teste disse værdier viser oklch.com en farve i alle notationer og advarer, når den falder uden for en skærms område, og MDN’s farvereference dækker al syntaks. Vælger du farver frem for at skrive dem, er sådan vælger du brandfarver næste skridt, og farvekontrast viser, hvordan du tjekker, at tekst forbliver læsbar.
Spørgsmål, folk stiller
Hvad betyder de seks tegn i en hex-farvekode?
Det er tre par cifre i base 16 for rød, grøn og blå. Hvert par går fra 00 (0) til ff (255), så #7c3aed betyder rød 124, grøn 58, blå 237.
Er hex det samme som RGB?
Ja. Hex er RGB skrevet i base 16. #7c3aed og rgb(124 58 237) er præcis den samme farve.
Hvad er OKLCH?
OKLCH er en farvenotation baseret på farverummet Oklab. Den beskriver opfattet lysstyrke, kromatik og farvetone, så lige store lysstyrkeværdier ser lige lyse ud, hvilket gør paletter og gradienter langt mere forudsigelige.
Hvordan tilføjer jeg gennemsigtighed til en hexkode?
Tilføj to cifre mere til alfa. #7c3aed80 er omkring 50 % dækning, og #7c3aedcc er omkring 80 %. I CSS kan du også skrive rgb(124 58 237 / 0.5).
Hvilken farvekode skal jeg bruge i CSS?
Hex er fint til enkelte farver. Brug OKLCH til paletter, toner, mørk tilstand og gradienter, hvor den opfattede lysstyrke undgår ujævne trin og grå midter.
Skrevet af Gradiently
Holdet bag Gradiently, et designværktøj bygget om Marks: levende gradienter, der får alt, du designer, til at ligne dig.
Se vores profil


