7. díl - Základní CSS selektory a vlastnosti

HTML a CSS Statický web Základní CSS selektory a vlastnosti American English version English version

Minule jsme si ukázali, k čemu CSS slouží a jak vypadá stránka, která jej používá. Dnes si 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" />

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, příště budeme se stylováním pokračovat a ještě dlouho s ním nepřestaneme :) Kód k dnešní lekci je opět ke stažení v příloze.


 

Stáhnout

Staženo 1721x (112.89 kB)
Aplikace je včetně zdrojových kódů v jazyce HTML a CSS

 

  Aktivity (4)

Článek pro vás napsal David Čápka
Avatar
Autor pracuje jako softwarový architekt a pedagog na projektu ITnetwork.cz (a jeho zahraničních verzích). Velmi si váží svobody podnikání v naší zemi a věří, že když se člověk neštítí práce, tak dokáže úplně cokoli.
Unicorn College Autor se informační technologie naučil na Unicorn College - prestižní soukromé vysoké škole IT a ekonomie.

Jak se ti líbí článek?
Celkem (38 hlasů) :
4.868444.868444.868444.868444.86844


 


Miniatura
Všechny články v sekci
Webové stránky krok za krokem

 

 

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

Avatar
vojtanosek
Člen
Avatar
vojtanosek:

To stylování je složité :(.

 
Odpovědět  -1 12.5.2015 15:26
Avatar
tomasmanhal
Člen
Avatar
Odpovídá na vojtanosek
tomasmanhal:

Ale není :-) Cvičení dělá mistra :-) Zkoušej, experimentuj a uč se :-) Navíc zrovna CSS složité není :-)

Odpovědět 12.5.2015 15:45
Kdyby nám dodali k životu zdrojový kód, vše by bylo jednodušší...
Avatar
vojtanosek
Člen
Avatar
vojtanosek:

No jo :D. Jsem to vyzkoušel a jen pár řádků + další si můžu přidat :D. Musím se na to pořádně podívat. Zajímaly by mě ty čísla např. #666666 jestli není někde seznam a jaké to jsou odstíny a barvy.

 
Odpovědět 12.5.2015 16:38
Avatar
Jakub Dostál:

Chěl bych se krátce zeptat, jestli není jednodušší se v dnešní době naučit dělat stránky ve WordPressu, není to rychlejší, jednodušší? Nebo jako začátečník se mám nejdříve naučit v html? Rád uslyším váš názor. :)

 
Odpovědět 6.10.2015 22:26
Avatar
Odpovědět 6.10.2015 22:38
I have a charger. I have Note 7. Umh I haven't Note7.
Avatar
Tomáš123
Člen
Avatar
Odpovídá na Jakub Dostál
Tomáš123:

Záleží od toho, čo potrebuješ. So samostatným HTML sa nepohneš. Musel by si poznať HTML, CSS, PHP, MySQL a JS, aby si vytvoril niečo čo bude fungovať ako Wordpress. Na vytvorenie podobného redakčného systému potrebuješ ovládať každú z technológii na profesionálnej úrovni.

To pochopiteľne netrvá pár dní, takže ak chceš výsledku dosiahnuť skôr, redakčný systém je ideálna voľba.

Odpovědět 7.10.2015 10:48
Keby nebolo Internetu Exploreru, nebolo by dnešného internetu.
Avatar
Jan Doskočil:

mohl by mi někdo pomoci? Jde o to že když napíši atribut color v jakékoliv syntaxi tak mi Visual Studio Code vyhodí chybu hned na dvou místech první u dvojtečky za color a totiž semi-colon expected a druhou u konce složené závorky at-rule or selector expected.

Odpovědět 12. června 19:55
"Existuje pouze 10 typů lidí, ti kteří strojovému kódu rozumí a ti kteří ne."
Avatar
Odpovídá na Jan Doskočil
Jan Doskočil:

teď jsem zjistil že chyba nebyla na mojí straně Microsoft to měl nějaké nedodělané každopádně děkuji všem lidem kteří mi v alternativních vesmírech pomohli. Jo a za tohle asi nedostanu ITnetwork body za uznanou odpověď co? Jo jo už mlčim...

Odpovědět 12. června 20:07
"Existuje pouze 10 typů lidí, ti kteří strojovému kódu rozumí a ti kteří ne."
Avatar
Prizrak
Člen
Avatar
Prizrak:

Nefunguje mi to...
Nevím proč, mohl by s emi na to někdo podívat?

<!DOCTYPE html>

<html lang="cs-cz">
<head>
<meta charset="utf-8" />
<title>Diep.i­o</title>
<link rel="stylesheet" href="styl.css" type="text/css" />

</head>

<body>
<h1>Diep.io Strategy</h1>
<h2>Something about game...</h2>
</body>
</html>

Tady je druhýprogram:

<!DOCTYPE html>

<html lang="cs-cz">
<head>
<meta charset="utf-8" />
</head>

<body>
h1 {text-align:center;
color: #0a294b;
}

</body>
</html>

 
Odpovědět 1. prosince 20:38
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Prizrak
Jiří Gracík:

2. kód

<!DOCTYPE html>
<html lang="cs-cz">
<head>
        <meta charset="utf-8" />
        <style type="text/css">
                h1 {
                        text-align:center;
                        color: #0a294b;
                }
        </style>
</head>
<body>
        <h1>Já jsem tmavě modrý nadpis</h1>
</body>
</html>

Špatně umístěný styl a styluješ neexistující element :)

Editováno 2. prosince 3:03
Odpovědět 2. prosince 3:02
Creating websites is awesome till you see the result in another browser ...
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 56. Zobrazit vše