Värit

Heksakoodit, RGB, HSL ja OKLCH selitettynä

#7c3aed, rgb(124 58 237), hsl(262 83% 58%) ja oklch(54.1% 0.247 293) ovat sama violetti. Tässä kerrotaan, mitä kukin merkintätapa oikeasti sanoo ja milloin kukin ansaitsee paikkansa.

GradientlyVahvistettu Gradiently-tili··4 min lukuaika
Kansi: Mauve Corridor · GR·1BS7·H0

Lyhyesti

  • Heksakoodit kuten #7c3aed ovat tiivis tapa kirjoittaa punaisen, vihreän ja sinisen arvot väliltä 0 ja 255, kukin kahtena 16-kantaisena numerona.
  • RGB, heksa ja HSL kuvaavat kaikki samoja sRGB-värejä, joten yhdellä tavalla kirjoitetun värin voi muuntaa tarkasti toisiksi.
  • HSL:ää on helppo säätää käsin, mutta sen vaaleusarvo ei vastaa sitä, miltä vaaleat värit oikeasti näyttävät, joten keltainen ja sininen 50 %:n vaaleudella näyttävät hyvin erilaisilta.
  • OKLCH kuvaa värin koetun vaaleuden, kroman ja sävyn mukaan, mikä tekee siitä parhaan merkintätavan paletteihin, sävyihin ja sileisiin liukuväreihin.
  • Käytännön sääntö: jaa brändivärit heksana ja rakenna paletit ja liukuvärit OKLCH:lla.
Tällä sivulla

Heksakoodit kuten #7c3aed ovat yleisin tapa kirjoittaa väri näytölle: # ja sen perässä kuusi merkkiä, jotka kertovat punaisen, vihreän ja sinisen määrän. RGB kirjoittaa samat luvut desimaaleina, HSL järjestää ne uudelleen sävyksi, kylläisyydeksi ja vaaleudeksi, ja OKLCH kuvaa värin niin kuin silmä sen havaitsee. Ne ovat eri merkintätapoja samoille väreille, ja kukin on paras eri tehtävässä.

Viisi väriä, joita käytetään esimerkkeinä tässä oppaassa. Alla oleva taulukko kirjoittaa jokaisen kaikilla neljällä merkintätavalla.

Miten heksakoodit toimivat

Heksakoodi on kolme paria 16-kantaisia numeroita: #RRGGBB. 16-kantainen järjestelmä laskee 0:sta 9:ään ja sitten a:sta f:ään, joten jokainen pari kulkee arvosta 00 (ei mitään) arvoon ff (255, täysi). Koodissa #7c3aed punainen on 7c (124), vihreä 3a (58) ja sininen ed (237): paljon sinistä, kohtalaisesti punaista, vähän vihreää, eli violetti. Kolme kanavaa, joissa on 256 arvoa, antaa 16 777 216 mahdollista väriä.

  • Lyhenne: #f0c on sama kuin #ff00cc. Jokainen numero kaksinkertaistetaan, joten se toimii vain väreille, joiden parit toistuvat.
  • Läpinäkyvyys: kahdeksannumeroinen koodi lisää alfan loppuun. #7c3aed80 on violetti noin 50 %:n peittävyydellä, koska 80 on 128 arvosta 255.
  • Kirjainkoolla ei ole väliä: #7C3AED ja #7c3aed ovat identtiset.
  • Harmaissa on kolme yhtä suurta paria: #767676, #1a1a1a ja #f4f4f4 ovat kaikki neutraaleja.

RGB: samat luvut desimaaleina

RGB kirjoittaa kolme kanavaa tavallisina lukuina väliltä 0 ja 255. Nykyaikainen CSS erottaa ne välilyönneillä ja lisää läpinäkyvyyden vinoviivan jälkeen. Vanhempi pilkkusyntaksi ja rgba() toimivat yhä kaikkialla. RGB on kätevä, kun työkalu tai rajapinta pyytää lukuja tai kun haluat lukea värin koostumuksen yhdellä silmäyksellä.

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);
Nykyaikainen välilyönnillä erotettu syntaksi ylhäällä, vanhempi pilkkusyntaksi sen alla. Selaimet hyväksyvät molemmat.

HSL: sävy, kylläisyys ja vaaleus

HSL kuvaa värin sävyn kulmana väriympyrällä (0 on punainen, 120 vihreä, 240 sininen), sen kylläisyyden harmaasta (0 %) täyteen väriin (100 %) ja sen vaaleuden mustasta (0 %) puhtaan värin (50 %) kautta valkoiseen (100 %). Sitä on helppo säätää käsin: tummemman violetin saat laskemalla viimeistä lukua.

Kauneusvirhe on, että HSL:n vaaleus on kaava, ei mittaus siitä, miltä väri näyttää vaaleana. Keltainen 50 %:n vaaleudella näyttää paljon kirkkaammalta kuin sininen 50 %:n vaaleudella. Rakenna paletti pitämällä HSL-vaaleus samana, niin värit eivät näytä yhtä vaaleilta, minkä vuoksi oletussateenkaaret näyttävät raidallisilta. Näkyvän tuloksen näet oppaasta sateenkaariliukuvärit.

OKLCH: väri sellaisena kuin sen näet

OKLCH tulee Oklabista, Björn Ottossonin vuonna 2020 julkaisemasta väriavaruudesta, joka on nyt osa CSS:ää. Se käyttää kolmea arvoa: L on koettu vaaleus 0 %:sta 100 %:iin, C on kroma eli se, kuinka värikäs väri on, 0:sta harmaalle noin 0,37:ään eloisimmille väreille, ja H on sävykulma. Yhtä suuret L-arvot näyttävät todella yhtä vaaleilta, joten voit muuttaa yhtä ominaisuutta häiritsemättä muita.

VäriHeksaRGBHSLOKLCH
Violetti#7c3aed124 58 237262 83% 58%54.1% 0.247 293
Taivas#0ea5e914 165 233199 89% 48%68.5% 0.148 237
Oranssi#f97316249 115 2225 95% 53%70.5% 0.187 48
Vihreä#16a34a22 163 74142 76% 36%62.7% 0.17 149
Muste#11182717 24 39221 39% 11%21% 0.032 265
Samat viisi väriä neljällä merkintätavalla. HSL- ja OKLCH-arvot on pyöristetty. Huomaa, miten HSL pitää vihreää tummempana kuin violettia, kun OKLCH osoittaa sen olevan oikeasti vaaleampi.

OKLCH loistaa liukuväreissä. Tavallisessa sRGB:ssä, heksavärien oletuksessa, häivytys piirtää suoran viivan RGB-kuution läpi, ja väriympyrän vastakkaisilla puolilla olevat värit kohtaavat harmaassa. OKLCH:ssa häivyttäminen säilyttää kroman ja kulkee sen sijaan sävyympyrää pitkin.

Samat kaksi pysäytyspistettä. sRGB:ssä keskikohta putoaa harmaanoliiviin, OKLCH:ssa se kulkee petroolin ja vihreän kautta. Lisää oppaassa mutaiset liukuvärit.
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 tekee sävyistä ja varjoista ennustettavia: muuta L:ää tasaisin askelin ja laske C:tä päissä, jotta värit pysyvät näytöllä.

Mitä värikoodia käytetään missäkin

TehtäväParas merkintätapaMiksi
Brändiopas, suunnittelun luovutusHeksaLyhyt, yleinen, liitetään jokaiseen työkaluun
Läpinäkyvyys CSS:ssäRGB tai 8-numeroinen heksaSelkeä alfa vinoviivan jälkeen
Nopeat säädöt käsinHSLSävyä tai tummuutta on helppo nykäistä
Paletit, sävyt ja varjotOKLCHTasaiset askeleet näyttävät tasaisilta
LiukuväritOKLCHHäivyttää ilman harmaita keskikohtia
Laajan väriskaalan näytötOKLCHYltää väreihin sRGB:n ulkopuolella
PainoCMYK tai kirkasväritNäytön koodit eivät koskaan tulostu täsmälleen, katso liukuvärien painaminen
Mikään näistä ei ole väärä. Taito on käyttää kutakin siellä, missä siitä on hyötyä.

Kaikkien näiden arvojen testaamiseen oklch.com näyttää värin kaikilla merkintätavoilla ja varoittaa, kun se jää näytön alueen ulkopuolelle, ja MDN:n väriviite kattaa jokaisen syntaksin. Jos valitset värejä etkä kirjoita niitä, miten valitset brändivärit on seuraava askel, ja värikontrasti näyttää, miten tarkistat, että teksti pysyy luettavana.

Usein kysyttyä

Mitä heksakoodin kuusi merkkiä tarkoittavat?

Ne ovat kolme paria 16-kantaisia numeroita punaiselle, vihreälle ja siniselle. Jokainen pari kulkee arvosta 00 (0) arvoon ff (255), joten #7c3aed tarkoittaa punaista 124, vihreää 58 ja sinistä 237.

Onko heksa sama kuin RGB?

On. Heksa on RGB kirjoitettuna 16-kantaisena. #7c3aed ja rgb(124 58 237) ovat täsmälleen sama väri.

Mikä OKLCH on?

OKLCH on Oklab-väriavaruuteen perustuva värin merkintätapa. Se kuvaa koetun vaaleuden, kroman ja sävyn, joten yhtä suuret vaaleusarvot näyttävät yhtä vaaleilta, mikä tekee paleteista ja liukuväreistä paljon ennustettavampia.

Miten lisään läpinäkyvyyden heksakoodiin?

Lisää kaksi numeroa alfalle. #7c3aed80 on noin 50 %:n peittävyys ja #7c3aedcc noin 80 %. CSS:ssä voit kirjoittaa myös rgb(124 58 237 / 0.5).

Mitä värikoodia pitäisi käyttää CSS:ssä?

Heksa käy yksittäisille väreille. Käytä OKLCH:ta paleteille, sävyille, tummalle tilalle ja liukuväreille, joissa sen havaintoon perustuva vaaleus välttää epätasaiset askeleet ja harmaat keskikohdat.

Jaa tämä opas

Kirjoittanut GradientlyVahvistettu Gradiently-tili

Gradientlyn tiimi. Gradiently on Markien ympärille rakennettu suunnittelutyökalu: eläviä liukuvärejä, joiden ansiosta kaikki suunnittelemasi näyttää omaltasi.

Katso profiilimme