4 způsoby, jak definovat barvy v CSS

Photo of author

By etechblogcz

Základní body

  • Názvy barev: CSS nabízí 145 pojmenovaných barev, což je uživatelsky přívětivé a snadné pro začátečníky, ale spektrum barev je omezené a nemusí splňovat všechny designové potřeby.
  • Hexadecimální kódy: Hex kódy poskytují široký rozsah barevných odstínů a přesné možnosti úprav, i když jejich použití a zapamatování může být náročnější.
  • Hodnoty RGB a RGBA: RGB umožňuje detailní kontrolu nad barvou pomocí číselných hodnot. RGBA navíc přidává nastavení průhlednosti. Je klíčové dbát na dostatečný barevný kontrast.

Barvy jsou jedním z nejpoužívanějších CSS atributů, které významně ovlivňují vizuální styl, atmosféru a celkový dojem webové stránky. CSS nabízí různé způsoby, jak barvy definovat, a každý z nich má své specifické využití a výhody.

Ačkoli se může zdát, že výběr barev není tak důležitý, opak je pravdou. Volba barev má významný dopad na celkový dojem z webu. Důkladné prozkoumání různých metod a jejich praktické aplikace a kombinace vám umožní vytvářet vizuálně podmanivé webové stránky.

1. Použití jmen barev

CSS umožňuje definovat barvy pomocí názvů, přičemž k dispozici je 145 různých variant. Tyto názvy sahají od základních barev jako „červená“, „zelená“ a „modrá“ až po specifické odstíny jako „korálová“ nebo „levandulová“.

Použití názvů barev je velmi jednoduché. Stačí si vybrat název barvy, jako je například „červená“, a použít ho v CSS vlastnosti, která podporuje hodnoty barev. Mezi tyto vlastnosti patří například barva textu, barva pozadí, barva ohraničení, barva obrysu nebo stín textu.

Jména barev jsou užitečná, pokud potřebujete rychle nastavit barvu pro prototypování nebo pokud chcete, aby byl váš kód snadno čitelný. Zde je syntaxe:

vlastnost_barvy: název_barvy;

V tomto případě nahraďte název_barvy konkrétním názvem, který chcete použít. Chcete-li například nastavit barvu textu odstavce na červenou, použijete tento zápis:

p {
    color: red;
  }

Tím se změní barva textu všech odstavců na červenou.

Výhody: Názvy barev jsou v CSS kódu snadno čitelné a srozumitelné. Jsou vhodné pro začátečníky, fungují ve všech prohlížečích a jsou užitečné pro rychlé prototypování.

Nevýhody: Nabízejí omezený výběr barev a nemusí vždy odpovídat přesným odstínům, které potřebujete, což omezuje kreativitu. Navíc nemusí vždy splňovat přísné požadavky na přístupnost a jejich podpora se může v různých systémech lišit.

2. Hexadecimální barevné kódy

Hexadecimální barevné kódy, známé také jako „hex kódy“, jsou nejběžnější metodou pro definování barev v návrhu webových stránek. Tyto kódy se skládají ze šestimístných kombinací čísel a písmen (0-9, A-F), které reprezentují kombinaci červené, zelené a modré (RGB) složky barvy.

Ačkoli je jejich použití poměrně snadné, může být obtížné pochopit, jak fungují. Chcete-li tomu lépe porozumět, můžete se ponořit hlouběji do studia hexadecimálních kódů. Zde je základní příklad, jak můžete hex kódy použít v CSS:

color: #RRGGBB;

V tomto formátu představují RR, GG a BB červenou, zelenou a modrou složku barvy. Každá složka se může pohybovat od 00 (nulová intenzita) do FF (maximální intenzita). Chcete-li například nastavit barvu pozadí záhlaví webu na určitý odstín modré, můžete použít hexadecimální kód jako tento:

header {
      background-color: #336699;
    }

Výsledkem bude tmavě modrá barva:

Pokud se každá ze tří složek opakuje dvakrát, můžete použít zkrácenou formu. Výše uvedený příklad lze tedy zapsat jako:

header {
        background-color: #369;
    }

Výhody: Hexadecimální kódy barev nabízejí širokou škálu barevných možností, což vám umožňuje vytvářet detailní a přizpůsobené odstíny. Poskytují přesnou kontrolu nad výběrem barev, a proto jsou ideální pro složitější designové požadavky.

Nevýhody: Hexadecimální kódy mohou být méně intuitivní než názvy barev. Také si může být těžké zapamatovat konkrétní hodnoty barev. Nicméně existují různé nástroje, které vám pomohou hexadecimální kódy barev najít, což vám proces ulehčí.

3. Hodnoty barev RGB a RGBA

Stejně jako u hexadecimálních kódů i tento formát umožňuje definovat barvy pomocí jejich červené, zelené a modré složky, tentokrát však pomocí číselných hodnot.

Hodnoty barev RGB

Hodnoty barev RGB jsou dalším nejčastějším způsobem definování barev v CSS. „RGB“ představuje červenou, zelenou a modrou barvu a je vyjádřena jako funkce CSS se závorkami. Uvnitř závorek se každému barevnému kanálu přiřadí hodnota v rozmezí od 0 do 255. To vám umožňuje ovládat intenzitu červené, zelené a modré barvy, kterou chcete použít.

Zde je syntaxe:

rgb(hodnota_červené, hodnota_zelené, hodnota_modré);

Hodnoty hodnota_červené, hodnota_zelené a hodnota_modré nahraďte jejich číselnými hodnotami. Například bílé, černé a červené barvy můžete dosáhnout takto:

Pokud nastavíte všechny tři barevné kanály (červený, zelený a modrý) na jejich maximální hodnotu 255, získáte nejvyšší intenzitu pro každý kanál a výsledkem je bílá barva:

.white-box {
      color: rgb(255, 255, 255);
    }

Pokud nastavíte všechny tři barevné kanály na jejich minimální hodnotu 0, barva je v každém kanálu nulová a výsledkem je černá.

.black-box {
      color: rgb(0, 0, 0);
    }

Nastavením červeného kanálu na maximální hodnotu 255, zatímco ostatní kanály zůstanou na minimální hodnotě 0, získáte červenou barvu:

.red-box {
      color: rgb(255, 0, 0);
    }

Hodnoty barev RGBA

RGBA funguje stejně jako RGB, jediný rozdíl je zahrnutí alfa hodnoty. „A“ v RGBA označuje alfa, která určuje úroveň průhlednosti nebo krytí pro vybranou barvu. Hodnota 0 představuje úplnou průhlednost, díky níž je barva zcela neviditelná, zatímco hodnota 1 představuje plnou neprůhlednost, kdy je barva plně viditelná.

RGBA je zvláště užitečná, pokud chcete vytvořit prvky s různou úrovní průhlednosti, například průsvitné pozadí nebo vybledlý text. Úplná syntaxe je:

color: rgba(hodnota_červené, hodnota_zelené, hodnota_modré, alfa_hodnota);

hodnota_červené, hodnota_zelené a hodnota_modré zde představují barevné kanály jako v RGB a alfa_hodnota udává úroveň průhlednosti.

div {
      background-color: rgba(0, 128, 0, 0.5);
    }

V tomto příkladu přiřadí alfa hodnota 0,5 zelené barvě 50% průhlednost, takže bude prosvítat obsah pod ní:

Výhody: RGB a RGBA vám umožňují přesně ovládat barvy, což usnadňuje výběr přesných odstínů a vytváření vizuálně atraktivních návrhů. Jsou kompatibilní s různými webovými prohlížeči a zajišťují konzistentní vzhled vámi zvolených barev.

Nevýhody: Výzvou je zajištění dostupných barevných kombinací. Je důležité věnovat pozornost kontrastním poměrům, zejména při práci s průhledností v RGBA. Pro zajištění přístupnosti návrhu vám mohou pomoci pokyny WCAG.

4. Hodnoty barev HSL a HSLA

HSL – zkratka pro Hue, Saturation a Lightness (odstín, sytost a světlost) – je další CSS funkce, která definuje barvy. Stejně jako RGB i HSL používá k reprezentaci barev číselné hodnoty, ale odlišným způsobem. Možná znáte hodnoty HSL z uživatelských rozhraní v grafických aplikacích.

Odstín: Představuje samotnou barvu pomocí stupňů na barevném kruhu v rozmezí od 0 do 360. Představte si to jako výběr bodu na kruhu, kde každý stupeň odpovídá jiné barvě. Například 0 a 360 stupňů je červená, 120 stupňů je zelená a 240 stupňů je modrá.

Sytost: Sytost určuje živost nebo intenzitu barvy. Definuje vztah barvy k šedé, přičemž 0 % je zcela v odstínech šedé (bez sytosti) a 100 % je plně sytá (živá a čistá).

Světlost: Světlost představuje, jak jasná nebo tmavá barva vypadá. Souvisí to s pozicí barvy ve spektru mezi černou (0 %) a bílou (100 %). Hodnota 50 % představuje normální barvu, zatímco hodnoty pod 50 % barvu ztmavují a hodnoty nad 50 % ji zesvětlují.

Kromě HSL existuje HSLA, kde „A“ znamená „alfa“. To je podobné „A“ v RGBA a představuje průhlednost.

Zde je syntaxe:

color: hsl(hodnota_odstínu, procento_sytosti, procento_světlosti);

Pomocí této syntaxe nahraďte hodnoty hodnota_odstínu, procento_sytosti a procento_světlosti konkrétními hodnotami, které chcete použít pro každou komponentu. Například:

div {
      background-color: hsl(120, 100%, 50%);
    }

V tomto příkladu je barva pozadí elementu div nastavena na zářivě zelenou pomocí hodnot HSL. 120 představuje odstín (zelenou), 100 % znamená plnou sytost a 50 % nastavuje světlost na vyváženou úroveň.

Výhody: HSL a HSLA nabízejí všestranné možnosti definování barev pomocí CSS. Jsou vysoce kompatibilní s moderními prohlížeči a umožňují snadné úpravy světlosti barev.

Nevýhody: Naučit se HSL vyžaduje pochopení barevné teorie, jako jsou odstíny a sytosti, což může být náročnější než u známějších RGB barev.

Využijte sílu barev CSS

Existuje několik metod, které můžete prozkoumat. Až budete zkoumat různé formáty pro definování barev v CSS, mějte na paměti, že máte možnost ovlivňovat vzhled, náladu a uživatelský zážitek z vašeho webu.

Vaše volba barevného formátu – ať už jde o jednoduchá jména barev, hexadecimální kódy, RGB nebo HSL – může ovlivnit to, jak vaše webové stránky vnímá vaše publikum. Proto experimentujte, učte se a najděte si definice barev, které nejlépe odpovídají vašim designovým cílům.