RGB talar om för en skärm hur mycket ljus den ska sända ut; HSL talar om hur färgen faktiskt ser ut. Att konvertera de tre kanalerna till nyans, mättnad och ljusstyrka gör en färg lätt att justera för hand.
Hur RGB till HSL-konvertering fungerar
- Dividera R, G och B med 255 så att varje värde ligger mellan 0 och 1.
- Ta maksimum och minimum av de tre — deras medelvärde är ljusstyrkan L.
- Om maximum och minimum är lika är färgen grå: nyans och mättnad är båda 0.
- Annars härleder du S från spridningen mellan maximum och minimum, och läser av H från den kanal som är störst.
Exempel som fungerar
I princip exakt. Eftersom H, S och L ofta visas som avrundade hela tal kan konvertering tillbaka flytta en kanal ett eller två steg.
RGB och HSL förklarat
Vad är RGB?
RGB beskriver en färg som tre ljuskanaler — röd, grön och blå — vardera från 0 till 255. Det speglar hur skärmar faktiskt fungerar: alla tre på 255 ger vitt, alla på 0 ger svart. RGB är rätt val när du behöver räkna med en färg, och rgba() lägger till transparens ovanpå.
- Syntax:
- rgb(R, G, B)
- Intervall:
- 0–255 per kanal
- Bäst för:
- kod, canvas, transparens med rgba()
Vad är HSL?
HSL delar upp en färg i hue (0–360° på färghjulet), saturation (hur färgrik, 0–100%) och lightness (hur ljus, 0–100%). Eftersom varje del motsvarar hur människor beskriver färg är HSL det enklaste formatet för att skapa nyanser, toner och konsekventa paletter — för hand eller i kod.
- Syntax:
- hsl(H, S%, L%)
- Intervall:
- 0–360°, 0–100%, 0–100%
- Bäst för:
- paletter, toner och nyanser, teman
RGB till HSL referenstabell
De vanligaste CSS-färgerna, konverterade från RGB till HSL.
| Färg | RGB | HSL |
|---|---|---|
| black | rgb(0, 0, 0) | hsl(0, 0%, 0%) |
| white | rgb(255, 255, 255) | hsl(0, 0%, 100%) |
| red | rgb(255, 0, 0) | hsl(0, 100%, 50%) |
| lime | rgb(0, 255, 0) | hsl(120, 100%, 50%) |
| blue | rgb(0, 0, 255) | hsl(240, 100%, 50%) |
| yellow | rgb(255, 255, 0) | hsl(60, 100%, 50%) |
| orange | rgb(255, 165, 0) | hsl(39, 100%, 50%) |
| teal | rgb(0, 128, 128) | hsl(180, 100%, 25%) |
| purple | rgb(128, 0, 128) | hsl(300, 100%, 25%) |
| gray | rgb(128, 128, 128) | hsl(0, 0%, 50%) |