Anatomie stránky
Prvky, značky a spol.
HTML je značkovací jazyk. To znamená, že ve zdrojovém kódu stránky se mísí viditelný text s konstrukcemi, které určují jeho strukturu. Pro strukturu stránky v HTML jsou rozhodující tak zvané prvky (anglicky element). Každý prvek má přiřazen určitý význam, například existují prvky pro nadpisy, odstavce, či vložené obrázky. HTML určuje pravidla pro jejich uspořádání – kde který prvek smí, nesmí či musí být.
Do zdrojového textu stránky se prvky zapisují prostřednictvím
značek (anglicky tag). Značka začíná speciálním znakem
„<
“, za ním následuje jméno prvku a ukončující znak
„>
“, například <strong>
.
Většina prvků je neprázdných, obsahují třeba část textu. K jejich vložení se
používá dvojice značek – zahajující a ukončující. Vše mezi nimi
tvoří obsah, v terminologii HTML tělo dotyčného prvku. Ukončující
značku poznáte snadno, před jméno prvku je předřazen znak
„/
“.
Například na začátku této stránky se nachází nadpis „Anatomie
stránky“. Pro nadpis nejvyšší úrovně je určen prvek
<h1>
, nadpis jsem proto vytvořil zdrojovým textem:
<h1>Anatomie stránky</h1>
Vnořování, prvky bez obsahu
Řadu prvků lze v HTML do sebe vnořovat. To znamená, že tělem jednoho prvku
je jiný prvek, nebo je v těle obsažen. Například odstavec textu je vymezen
prvkem <p>
. Část textu může být zvýrazněna, k čemuž slouží
prvek <em>
, který je v takovém případě vnořen v prvku
<p>
, asi takto:
<p><em>Začátek</em> je zvýrazněn.</p>
Vnořování musí být „čisté“, čili prvek musí být obsažen v jiném. Ve zdrojovém kódu se to projeví tak, že prvek, který později začal, musí dříve skončit. Následující překřížení prvků je nepřípustné:
<em><p>Začátek</em> je zvýrazněn.</p>
Některé prvky však žádný obsah nemají. Typickým příkladem je prvek
<br>
, jehož významem je „zde ukončit řádek a přejít na
začátek nového“. V HTML5 jej můžete jednoduše použít samotné.
XML je přísnější, takže v XHTML5 musí být každý prvek buď
ukončen, nebo musí být jasně řečeno, že k němu žádná ukončující značka nebude.
To se provede uvedením znaku „/
“ před závěrečným
„>
“ úvodní (a jediné) značky prvku.
Ovšem některé starší prohlížeče mají se zápisem <br/>
.
Proto se doporučuje vynechat před závěrečným lomítkem mezeru. To je
syntakticky správně a funguje i ve starších klientech. Prázdný prvek
<br>
tedy v XHTML5 zapíšete buď pomocí
<br></br>
nebo
<br />
Volný formát
Zdrojový kód HTML se zapisuje ve volném formátu. To znamená, že prohlížeč vůbec nebere ohled na to, v jakém tvaru je zapsán. Konec řádku má pro něj stejný význam jako mezera a libovolně dlouhou skupinu po sobě jdoucích mezer scvrkne na jedinou mezeru.
Například zdrojový text
<p>Toto je opravdu krátká věta.</p>
bude po zformátování klientem vypadat úplně stejně jako
<p>Toto je opravdu krátká věta.</p>
Veškeré formátování stránek musíte proto provádět přiřazením odpovídajících prvků (a definicí jejich vzhledu).
Povinný obal
HTML stránka má povinnou kostru, kterou musíte vždy uvést. Teprve do ní pak vkládáte individuální obsah dané stránky. V HTML5 došlo k výraznému zjednodušení kostry, která teď vypadá následovně:
<!DOCTYPE html> <html> <head> <title>titulek stránky</title> ...další údaje hlavičky... </head> <body> ...tělo stránky... </body> </html>
Počáteční DOCTYPE identifikuje jazyk použitý pro vytvoření stránky. Starší
verze zde uváděly dlouhé identifikátory, určující konkrétní verzi HTML či
XHTML. HTML5 se omezuje na prosté konstatování „toto je HTML“. Celá
stránka je pak vlastně tělem prvku <html>
, který v sobě
obsahuje vlastně jen dva prvky, nesoucí vše ostatní:
<head>
Hlavička stránky. Obsahuje informace o ní, jako například odkazy na stylové soubory pro zobrazení, informace pro vyhledávače, zvolené kódování češtiny a podobně. Jedinou povinnou součástí hlavičky je prvek
<title>
určující titulek stránky. Jeho obsah bude zobrazen v nadpisu okna prohlížeče.<body>
Tělo stránky. Zde je text, který klient zobrazuje uživateli. Zpravidla začíná hlavním nadpisem, čili prvkem
<h1>
.
Entity
Možná už jste si položili otázku, jak vložit do textu například znak „<“, když má v HTML přiřazen speciální význam – zahajuje značku. Podobný problém představují znaky, které nenajdete na klávesnici, jako například ∑ či ©.
Tento problém řeší entity, speciální konstrukce, jimiž lze vkládat
jednotlivé znaky. Mají tvar &
název;
, kde
název je jméno entity definované v HTML. Například znak
„<“ vložíte entitou <
(Less Than). Zavedením
entit se stal speciálním i znak „&“ a chcete-li jej mít v
textu, musíte jej vložit entitou &
(AMPersand).
Připravil jsem pro vás předled všech entit jazyka XHTML (ve formátu PDF, 80 kB).
Atributy
Značky vymezující prvky HTML kódu mohou obsahovat atributy. Jedná se o
doplňující informace, které ovlivňují jejich vzhled či chování. Například
později uvidíte, že značka <a>
vkládá do textu odkaz na
jinou stránku či zdroj a její atribut href
obsahuje adresu cíle
daného odkazu. Zdrojový dód vypadá nějak takhle:
<a href="http://www.tul.cz/">TU v Liberci</a>
Atributy se vždy vkládají do zahajující značky prvku. Od jména prvku se oddělují mezerou, stejně jako od sebe navzájem, pokud jich prvek obsahuje více. Každý z nich má tvar
název="hodnota"
V XHTML5 musí být hodnota vždy uzavřena do uvozovek – buď dvojitých či jednoduchých. V HTML5 jsou uvozovky nepovinné, pokud hodnota neobsahuje mezery. Nicméně zvykněte si je používat i zde a hodnoty všech atributů automaticky uzavírejte do jednoduchých nebo dvojitých uvozovek.
O konkrétních atributech jednotlivých prvků a jejich významech se dočtete v dalších částech tohoto textu.
Související témata
- Jak na kostru – praktické doporučení
zpět: vytváření WWW stránek