Lekce 9 - Barvy v CSS
V minulé lekci, Typové CSS selektory a zarovnání textu, jsme si ukázali použití CSS a naučili jsme se zarovnávat text.
V tomto tutoriálu Statického webu budeme pokračovat se stylováním CSS podle selektorů. Dnes se soustředíme na barvu textu a jak ji můžeme různými způsoby zapsat.
Vlastnost color - Barva
textu
Ukažme si, jakým způsobem bychom změnili barvu textu. Slouží k tomu CSS
vlastnost color. Hodnotu barvy můžeme zadat několika
způsoby:
- textovou konstantou
- třemi hodnotami RGB
- jednou hodnotou v šestnáctkové soustavě
Postupně si je projděme.
1. Textové konstanty
Prvním způsobem zadání barvy v CSS je použití barevné
konstanty. Máme jich k dispozici 16, jsou to: aqua,
black, blue, fuchsia, gray,
green, lime, maroon, navy,
olive, purple, red, silver,
teal, white a yellow. Bohužel se jedná
o barvy velmi ošklivé a kromě černé a bílé je nemá smysl
používat. CSS nabízí mnoho dalších barevných konstant (jmen
barev), které však bohužel nejsou součástí oficiální specifikace, a
proto by se neměly používat.
Můžeme si zkusit nastavení barvy přidat mezi vlastnosti v selektoru pro
nadpisy <h1> a <h2>. Styl bude nyní
vypadat takto:
h1, h2 { text-align: center; color: blue; }
Pokud je vlastností v selektoru více, jednoduše je píšeme na samostatné řádky. Styl si uložme a obnovme stránku, měli byste vidět něco podobného:
2. RGB
Častějším způsobem je zadat barvu jako RGB (Red, Green, Blue). Pro lepší zapamatování si na úvod uveďme krátký vtip:
Baví se dva webaři:
- Já jsem sbalil novou holku, je krásná, 90-60-90...
- Cože? Tmavě fialová?
Určitě víte, že v počítači má každá barva 3 složky: červenou, zelenou a modrou. To vychází z optiky, jelikož každý bod na vaší obrazovce je složen z různě intenzivních světel těchto barev. Zadáním těchto tří složek namícháme naprosto libovolnou barvu a nejsme tak omezeni barvami, které nám někdo připravil:

Zadání té samé modré jako nabízí konstanta blue by přes
RGB vypadalo následovně:
color: rgb(0, 0, 255);
Protože potřebujeme zadat hned 3 hodnoty, musíme použít CSS funkci
rgb() a předat barvy v závorce (), oddělené
čárkami ,.
První nula výše označuje, že červená složka má hodnotu
0, druhá, že zelená složka má hodnotu 0,
poslední, že modrá složka má maximální hodnotu. Tou je 255.
Tyto velké rozdíly jsou důvodem, proč výchozí barvy nevypadají dobře, v
reálu není nic takto úplně modré.
3. Šestnáctková soustava - HEX
Dostáváme se k poslednímu způsobu zápisu barev. Nelekejte se
matematického pojmu, zadávání barev pomocí hexadecimální soustavy je
nejjednodušší zápis. Jedná se opět o RGB
zápis, který již známe. Jen kromě číslic 0 -
9 používá i písmena A - F. Díky tomu
si vystačíme s méně číslicemi a můžeme pak všechny složky barvy uvést
jako jednu hodnotu, aniž bychom potřebovali používat CSS funkci
rgb().
Úplně modrou barvu bychom zapsali takto:
color: #0000FF;
Zápis barvy v šestnáctkové soustavě začíná mřížkou #,
dále následuje dvojice čísel pro každou ze složek RGB (2 pro červenou, 2
pro zelenou a 2 pro modrou). Maximální hodnota 255 se zde zapíše jako
FF.
Mřížku # na české klávesnici zapíšeme pomocí
Pravého Alt + X:

Můžeme si vyzkoušet, že oba zápisy nám nadpis obarví na tu samou
barvu, jako původní konstanta blue.
Ačkoli hodnota je špatně čitelná pro lidi, každý lepší grafický editor (např. Photoshop) nám u barvy ukáže její HTML zápis. Pro výběr barev můžete použít i náš online nástroj Colorpicker, kde jednoduše vyberete barvu a aplikace vám vypíše její HTML notaci.
Pojďme našim nadpisům nastavit takový odstín modré, aby stránka nevypadala jako papoušek:
h1, h2 { text-align: center; color: #0a294b; }
Je to taková tmavě modrá, ale stále ne černá, vypadá docela příjemně. A toto je výsledek naší dnešní práce:
V příští lekci, Třídní selektor a stylování textu v CSS, si ukážeme, jak centrovat obrázky pomocí třídního selektoru a změnu fontu písma.
Měl jsi s čímkoli problém? Stáhni si vzorovou aplikaci níže a porovnej ji se svým projektem, chybu tak snadno najdeš.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkami
Staženo 572x (2.13 MB)
Aplikace je včetně zdrojových kódů v jazyce HTML a CSS

David se informační technologie naučil na