Hex kódy barev srozumitelně: jak funguje #RRGGBB
Hex kód barvy jako #1e90ff tvoří tři dvojice šestnáctkových číslic: množství červeného, zeleného a modrého světla, každé od 00 (nic) po ff (naplno, 255). Čtvrtá dvojice nastavuje neprůhlednost: 80 znamená zhruba 50 %, ff zcela plnou barvu.
Čtení na 5 min
Jak funguje hex kód barvy
Každá barva na obrazovce vzniká smícháním červeného, zeleného a modrého světla. Hex kód zapisuje sílu každého z nich dvěma znaky za znakem #: nejdřív červenou, pak zelenou, pak modrou. To je vzor #RRGGBB.
Znaky jsou šestnáctkové (hexadecimální), tedy počítání se šestnácti číslicemi: 0 až 9, pak a (10), b (11), c (12), d (13), e (14) a f (15). Jedna dvojice pokryje 256 hodnot, od 00 (0) po ff (255), přesně rozsah rgb().
Dvojici převedete na běžné číslo tak, že první číslici vynásobíte 16 a přičtete druhou. Níže je #1e90ff, barva CSS dodgerblue, ve čtyřech formátech a pak rozepsaná po dvojicích.
| Formát | Hodnota |
|---|---|
| HEX | |
| RGB | |
| HSL | |
| OKLCH |
| Dvojice | Kanál | Výpočet | Hodnota |
|---|---|---|---|
| 1e | Červená | 1 × 16 + 14 | 30 |
| 90 | Zelená | 9 × 16 + 0 | 144 |
| ff | Modrá | 15 × 16 + 15 | 255 |
Takže #1e90ff je rgb(30, 144, 255): trochu červené, slušná dávka zelené a plná modrá, což dohromady dává jasnou blankytně modrou. Tři dvojice po 256 hodnotách dávají 16 777 216 možných barev.
Trojmístná a čtyřmístná zkratka hex
Když jsou obě číslice v každé dvojici stejné, stačí každou dvojici napsat jednou. Z #ffcc00 se stane #fc0 a prohlížeč každou číslici zase zdvojí. #1e90ff krátký zápis nemá, protože 1e a 90 nejsou zdvojené dvojice.
Krátký zápis pokrývá jen 4 096 z 16,7 milionu barev. Čtyřmístná varianta stejným způsobem přidává neprůhlednost, takže #f008 znamená #ff000088.
| Krátký | Plný | Barva |
|---|---|---|
| #fff | #ffffff | Bílá |
| #000 | #000000 | Černá |
| #f00 | #ff0000 | Červená |
| #fc0 | #ffcc00 | Teplá žlutá |
| #abc | #aabbcc | Šedomodrá |
| #f008 | #ff000088 | Červená s neprůhledností 53 % |
Průhlednost v hex: osmimístný hex s alfa kanálem
Osmimístný kód přidává čtvrtou dvojici pro alfu, tedy neprůhlednost: #RRGGBBAA. 00 je zcela průhledná a ff zcela plná barva. Všechny aktuální prohlížeče ho v CSS podporují, stejně jako čtyřmístnou zkratku #RGBA.
Dvojici získáte tak, že neprůhlednost vynásobíte 255, zaokrouhlíte na celé číslo a převedete do hex. 50 % dává 127,5, což se zaokrouhlí na 128, zapsané jako 80. Tady je celá tabulka pro #1e90ff.
| Neprůhlednost | Alfa (0–255) | Dvojice hex | #1e90ff s alfou |
|---|---|---|---|
| 100% | 255 | ff | #1e90ffff |
| 95% | 242 | f2 | #1e90fff2 |
| 90% | 230 | e6 | #1e90ffe6 |
| 85% | 217 | d9 | #1e90ffd9 |
| 80% | 204 | cc | #1e90ffcc |
| 75% | 191 | bf | #1e90ffbf |
| 70% | 179 | b3 | #1e90ffb3 |
| 65% | 166 | a6 | #1e90ffa6 |
| 60% | 153 | 99 | #1e90ff99 |
| 55% | 140 | 8c | #1e90ff8c |
| 50% | 128 | 80 | #1e90ff80 |
| 45% | 115 | 73 | #1e90ff73 |
| 40% | 102 | 66 | #1e90ff66 |
| 35% | 89 | 59 | #1e90ff59 |
| 30% | 77 | 4d | #1e90ff4d |
| 25% | 64 | 40 | #1e90ff40 |
| 20% | 51 | 33 | #1e90ff33 |
| 15% | 38 | 26 | #1e90ff26 |
| 10% | 26 | 1a | #1e90ff1a |
| 5% | 13 | 0d | #1e90ff0d |
| 0% | 0 | 00 | #1e90ff00 |
CSS
.overlay {
background: #00000080;
}
.overlay-same {
background: rgb(0 0 0 / 50%);
}Dva háčky. Zaprvé, 80 je 128 z 255, tedy 50,2 %, ne přesně 50 %: alfa v hex má jen 256 kroků, takže většina kulatých procent je jen blízké přiblížení. Zadruhé, Android dává alfu na začátek. V barevném zdroji Androidu znamená #801e90ff totéž co #1e90ff80 v CSS.
Jak přečíst hex kód od oka
Barvu odhadnete i bez převádění. Dívejte se na první číslici každé dvojice, protože nese téměř všechnu informaci.
| Název v CSS | Hex | RGB | Jak ho číst |
|---|---|---|---|
| tomato | #ff6347 | 255, 99, 71 | Červená naplno, trochu zelené a modré: teplá světle červená |
| gold | #ffd700 | 255, 215, 0 | Červená a zelená vysoko, modrá žádná: žlutá |
| chocolate | #d2691e | 210, 105, 30 | Vede červená, zelená napůl, modrá nízko: oranžovohnědá |
| darkturquoise | #00ced1 | 0, 206, 209 | Zelená a modrá vysoko, červená žádná: azurová |
| dodgerblue | #1e90ff | 30, 144, 255 | Vede modrá, zelená uprostřed: blankytně modrá |
| mediumorchid | #ba55d3 | 186, 85, 211 | Červená a modrá vysoko, zelená nízko: fialová |
| teal | #008080 | 0, 128, 128 | Zelená a modrá napůl: tmavě azurová |
| navy | #000080 | 0, 0, 128 | Jen modrá, napůl: tmavě modrá |
| slategray | #708090 | 112, 128, 144 | Téměř vyrovnané, modrá mírně vpředu: modrošedá |
- Největší první číslice určuje převládající světlo. #d2691e má d v červené, 6 v zelené a 1 v modré, takže jde o oranžovohnědou.
- Dva vysoké kanály se smíchají: červená a zelená dají žlutou, zelená a modrá azurovou, červená a modrá purpurovou nebo fialovou.
- Tři stejné dvojice dávají šedou. #333333 je tmavě šedá, #999999 světle šedá. Téměř stejné dvojice, jako #708090, dávají tlumenou, našedlou barvu.
- Vysoké číslice celkově znamenají světlou barvu, nízké tmavou. Když jsou všechny tři dvojice c0 nebo víc, barva je bledá. Když jsou všechny tři 30 nebo méně, je velmi tmavá.
- Zelená při stejném čísle vypadá mnohem jasněji než modrá. #00ff00 má světlost OKLCH 0,866, #0000ff jen 0,452.
Proč #808080 není střední šedá
#808080 leží číselně přesně uprostřed: 128 z 255 v každém kanálu. Vizuálně ale na půli cesty mezi černou a bílou nepůsobí. Jeho světlost OKLCH je 0,600, takže se jeví, jako by urazil 60 % cesty k bílé.
Hodnoty hex jsou už zakódované křivkou sRGB, která zhruba sleduje oko, ale ne přesně. #808080 vyzařuje asi 21,6 % světla bílé a percepční modely kladou vizuální střed níž: OKLCH na #636363, CIELAB na #777777.
| Šedá | Co to je | OKLCH L | Kontrast na bílé | Kontrast na černé |
|---|---|---|---|---|
| #808080 | Číselný střed, 128 | 0.600 | 3.95:1 | 5.32:1 |
| #777777 | Střed CIELAB, L* 50 | 0.569 | 4.48:1 | 4.69:1 |
| #767676 | Nejsvětlejší šedá s 4,5:1 na bílé | 0.566 | 4.54:1 | 4.62:1 |
| #636363 | Střed OKLCH, L 0,5 | 0.500 | 6.01:1 | 3.50:1 |
Pro text je to důležité. Šedá #808080 na bílé má 3,95:1 a pro běžný text WCAG AA nesplní. #767676 je nejsvětlejší šedá, která 4,5:1 splní, a #777777, o krok světlejší, už s 4,48:1 neprojde.
Velká, nebo malá písmena, s # i bez
U hex kódů nezáleží na velikosti písmen. #1E90FF, #1e90ff a #1E90ff jsou v CSS, SVG i v grafických nástrojích stejná barva. Zvolte jeden styl a držte se ho všude, aby hledání v kódu našlo každé použití. V CSS se běžně píšou malá písmena.
Znak # je součástí syntaxe CSS, ne barvy. Figma a mnoho grafických nástrojů zobrazuje kód bez něj a programovací jazyky ho často zapisují jako číslo s předponou 0x, třeba ve Flutteru, kde Color(0xFF1E90FF) začíná dvojicí alfa.
Jak zjistit hex kód barvy na obrazovce
Použijte kapátko: nástroj, který přečte barvu pod kurzorem a ukáže její kód. Tyto nástroje jsou zdarma a většinou už je máte nainstalované.
- Chrome a Edge: otevřete DevTools klávesou F12, v panelu Styly klikněte na libovolný barevný čtvereček a ikonou kapátka vyberte barvu ze stránky.
- PickShade: výběr barvy na hlavní stránce má v Chrome a Edge tlačítko kapátka, které vybere barvu odkudkoli z obrazovky.
- Windows: nainstalujte Microsoft PowerToys a zkratkou Win + Shift + C otevřete Color Picker.
- macOS: otevřete Digital Color Meter (Digitální kolorimetr) ve složce Aplikace, Utility. Přepněte ho na sRGB a v nabídce Zobrazení nastavte zobrazení hodnot v šestnáctkové soustavě.
- Figma, Photoshop a většina grafických aplikací: kapátko vyvoláte klávesou I.
- Na fotce nebo snímku obrazovky: otevřete ji ve výběru barev z obrázku a klikněte na libovolný pixel. Obrázek zůstane ve vašem zařízení.
Vybraná hodnota se může od originálu o pár jednotek lišit, protože obrazovky používají barevné profily a obrázky jsou komprimované. Když potřebujete přesnou hodnotu, zkopírujte ji z grafického souboru nebo z CSS, ne ze snímku obrazovky.
Otázky a odpovědi
Co je hex kód barvy?
Hex kód barvy je šestimístný kód jako #1e90ff, který popisuje barvu množstvím červeného, zeleného a modrého světla. Každá dvojice šestnáctkových číslic jde od 00 (0) po ff (255), takže #1e90ff je rgb(30, 144, 255).
Jak přidat k hex barvě průhlednost?
Na konec přidejte čtvrtou dvojici číslic: #RRGGBBAA. Neprůhlednost vynásobte 255, zaokrouhlete a převeďte do hex, takže 50 % je 80, 25 % je 40 a 75 % je bf. Například #1e90ff80 je dodgerblue s neprůhledností zhruba 50 %.
Jak se v hex zapíše neprůhlednost 50 %?
Neprůhlednost 50 % se v hex zapíše jako 80, třeba #00000080 pro napůl průhlednou černou. 80 odpovídá 128 z 255, tedy 50,2 %, protože alfa v hex má 256 kroků a přesných 50 % leží mezi 7f a 80.
Jaký je rozdíl mezi hex a RGB?
V barvě žádný, jen v zápisu. Hex zapisuje hodnoty červené, zelené a modré jako dvojice v šestnáctkové soustavě, rgb() jako desítková čísla od 0 do 255, takže #ff6347 a rgb(255, 99, 71) jsou stejná rajčatově červená.
Záleží u hex kódů na velikosti písmen?
Ne. #FF6347, #ff6347 a #Ff6347 jsou v CSS, HTML, SVG i grafických nástrojích stejná barva. Většina CSS kódu používá malá písmena, ale funguje jakýkoli styl, pokud je jednotný.
Jaký je hex kód střední šedé?
#808080 je číselný střed, ale se světlostí OKLCH 0,600 vypadá světlejší než na půli cesty. Šedá, která vypadá napůl mezi černou a bílou, leží mezi #636363 (OKLCH L 0,5) a #777777 (CIELAB L* 50).