Pouze tento týden sleva až 80 % na e-learning týkající se C# .NET
Využij akce až 80% zdarma při nákupu e-learningu. Více informací .
BF summer

Lekce 7 - Základní CSS selektory a vlastnosti

V minulé lekci, Úvod do CSS (kaskádových stylů), jsme si ukázali, k čemu CSS slouží a jak vypadá stránka, která jej používá.

Dnes si v CSS tutoriálu podrobně popíšeme, jak se přes CSS stylují webové stránky.

Stylovat samozřejmě budeme náš rozpracovaný web. Otevřeme si PSPad a vytvořme v něm nový soubor, jako typ souboru vyberme Cascading Style Sheet.

Vytvoření nového CSS souboru v PSPadu

CSS je stejně jako HTML pouze textový soubor.

Selektory

CSS je založeno na tzv. selektorech. Jak již z názvu vyplývá, selektory umožňují označit (select = označit) prvky na stránce podle určitých kritérií a potom tyto prvky ostylovat. CSS dokument nemá na rozdíl od HTML žádnou hlavičku a kromě selektorů do něj již není potřeba psát cokoli navíc.

Typový selektor

Úplně nejjednodušší je tzv. typový selektor, který na stránce jednoduše vybere všechny elementy daného typu. Budeme-li chtít např. označit všechny nadpisy h1 na stránce, kód bude vypadat následovně:

h1 {
}

Stylujeme tedy elementy určitého typu, zde h1. Za selektorem následuje blok ze složených závorek, do kterého se píší vlastnosti, podle kterých se mají elementy stylovat.

text-align

Uveďme si první CSS vlastnost, bude jí text-align. Vlastnosti vkládáme do složených závorek selektoru. Za jménem vlastnosti následuje dvojtečka a její hodnota, poté následuje středník. Zkusme si text v nadpisech h1 na stránce vycentrovat. CSS kód by vypadal takto:

h1 {
    text-align: center;
}

Hned si to vyzkoušíme na naší HTML stránce. Do nového CSS souboru vložte kód výše a uložte jej jako styl.css do složky s vaší stránkou.

Nyní musíme stránku na tento CSS styl napojit. Otevřeme si index.html a do hlavičky (<head>) přidáme následující řádek:

<link rel="stylesheet" href="styl.css" type="text/css" />
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!

Nyní se bude tato stránka stylovat podle toho, co napíšeme do CSS. Měli byste dostat takovýto výsledek:

Zarovnání nadpisu pomocí CSS na střed

Nadpis první úrovně má vycentrovaný text. Pokud bychom chtěli to samé i pro nadpis druhé úrovně, nemusíme kód znovu opisovat, stačí jen připsat selektor i na nadpis h2. Selektory oddělujeme čárkou:

h1, h2 {
 text-align: center;
}

Výsledek:

Zarovnání nadpisu pomocí CSS

Již tedy umíme centrovat text. Centrování samozřejmě nefunguje jen pro nadpisy, ale úplně stejně funguje pro odstavce, buňky tabulky a další elementy. Většina CSS vlastností není vázána na konkrétní typ elementu.

Do vlastnosti text-align můžeme uvést tyto hodnoty:

  • left - Zarovná text nalevo.
  • right - Zarovná text napravo.
  • center - Zarovná text na střed.
  • justify - Zarovná text do bloku.

Poslední hodnotu justify je vhodné používat pouze v případě, že je element s textem dostatečně široký (alespoň kolem 800px), jinak dochází ke vzniku neúhledných mezer, kterým se říká v typografii řeky. V tisku se toto řeší rozdělováním slov, prohlížeč za nás slova v textu bohužel jednoduše nerozdělí.

color

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.

Prvním způsobem 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 validní a proto by se neměly používat.

Častějším způsobem je zadat barvu jako RGB. Určitě víte, že v počítači má každá barva 3 složky: červenou, zelenou a modrou. Zadáním těchto 3 složek namícháme naprosto libovolnou barvu.

Řekněme, že budeme chtít zadat modrou barvu. První možností je použít konstantu "blue":

color: blue;

Můžete 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žte a obnovte stránku, měli byste vidět něco podobného:

Obarvení nadpisů pomocí CSS

Protože často budeme chtít jiný odstín, než je oněch ošklivých 16 výchozích barev, ukažme si zadání té samé modré přes funkci RGB:

color: rgb(0, 0, 255);

První nula 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.

Celý zápis lze ještě zjednodušit pomocí šestnáctkové soustavy. 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 je zde FF. Můžete si vyzkoušet, že oba zápisy vám nadpis obarví na tu samou barvu, jako původní konstanta blue.

Nejpoužívanější je poslední typ zápisu, tedy ten přes šestnáctkovou soustavu, protože je nejkratší. Ačkoli hodnota je špatně čitelná pro lidi, každý lepší grafický editor (např. Gimp nebo Photoshop) vá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ě:

Obarvení nadpisů pomocí CSS

To je pro dnešek vše. Kód k dnešní lekci je opět ke stažení v příloze.

V příští lekci, Třídní selektor a stylování textu v CSS, si ukážeme základy stylování textu :)


 

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 2645x (112.89 kB)
Aplikace je včetně zdrojových kódů v jazyce HTML a CSS

 

Předchozí článek
Úvod do CSS (kaskádových stylů)
Všechny články v sekci
Webové stránky krok za krokem
Článek pro vás napsal David Čápka
Avatar
Jak se ti líbí článek?
86 hlasů
David je zakladatelem ITnetwork a programování se profesionálně věnuje 13 let. Má rád Nirvanu, sushi a svobodu podnikání.
Unicorn university David se informační technologie naučil na Unicorn University - prestižní soukromé vysoké škole IT a ekonomie.
Aktivity (7)

 

 

Komentáře
Zobrazit starší komentáře (76)

Avatar
Nositelka Změny:2.12.2019 21:50

Kdo říká, že ty základní barvy jsou ošklivé? Jsou sice hodně zářivé, ale mě to vyhovuje. Kromě modré je hezká ještě červená, žlutá, světle zelená, purpurová a azurová (ty poslední dvě už méně). Dobré by byly i tmavší a světlejší odstín šedé. Ostatní barvy jsou trochu ošklivé, ale stále lepší než ta vaše #0a294b.

Odpovědět
2.12.2019 21:50
j.k.j
Avatar
Rico ThreeDmax:31.1.2020 10:11

Tech barev je mraky co.lze zadat slovne a pritom spousta jich je goodlooking!!

 
Odpovědět
31.1.2020 10:11
Avatar
Josef Břečka:11.7.2020 17:58

Perfektní článek :-)

Odpovědět
11.7.2020 17:58
Prostě buďte happy :)
Avatar
Štefan Murza:19.11.2020 20:50

Nejako sa neviem pohnúť, nechce mi to načítať CSS stránku a zmeniť štýl. Pri otvorení nového CSS súboru som nastavil nový súbor CSS a kódovanie na UTF-8 a nič. Čo môže byť zlé ? Ďakujem.

 
Odpovědět
19.11.2020 20:50
Avatar
Veronika MAREČKOVÁ :26. ledna 15:38

Pravidla jako např.** text-align: center** se musí psát do složených závorek. Je jen na nás, zda si pravidla budeme členit pro naši přehlednost pod sebe.

h1,h2 { text-align: center;
        color:#1625abec;}
 
Odpovědět
26. ledna 15:38
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na Štefan Murza
Veronika MAREČKOVÁ :26. ledna 15:50

Například jako jsme si vytvářeli složku obrázky jsem si osobně založila složku css a do té složky uložila soubor "styly.css" proto jsem si do "index.html" do hlavičky musla link upravit takto:

do href jsem zadala složku tj. kde hledat "css"/ pod jakým název souboru hledat tj.: "styly.css"

<link rel="stylesheet" href="css/styly.css" type="text/css" />

Mám otázku co konkrétně znamená?
rel="stylesheet"
type="text/css"

 
Odpovědět
26. ledna 15:50
Avatar
Veronika MAREČKOVÁ :26. ledna 15:59

Mám ještě jednu specifickou otázku ohledně barev.
Jak zajistit aby např. u nadpisu byl okraj písma tmavší např. #00B050 (tmavě zelená) a výplň nadpisu #29D050 (světle zelená). Pokud se to někomu z vás podaří vyřešit tak moc děkuju.

 
Odpovědět
26. ledna 15:59
Avatar
Samuel Hél
Tým ITnetwork
Avatar
Odpovídá na Veronika MAREČKOVÁ
Samuel Hél:1. února 18:21

Ahoj, atribut rel je z anglického názvu relationship, čili vztah. Vztah stylesheet znamená, že jde o kaskádové styly (co je v tom dokumentu a jak ho má prohlížeč zpracovat). Ohledně druhé otázky, čekni tento codepen.

 
Odpovědět
1. února 18:21
Avatar
Aleš Masařík:4. června 7:50

Dobrý

 
Odpovědět
4. června 7:50
Avatar
Ivana Fajnorová:18. června 11:35

Vďaka za zrozumiteľné vysvetlenie, som sama prekvapená ako to ľahko zvládam :)

 
Odpovědět
18. června 11:35
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 86. Zobrazit vše