HTML 101/Lekce 3
Kurz: HTML 101
V minulé lekci jsme se podívali na absolutně základní elementy a strukturu HTML dokumentů. V této lekci se zaměříme na text a elementy využívané na jeho formátování. Nejdříve si ale vysvětlíme sémantiku...
Sémantika
[editovat]Sémantika je nauka o významu slov. V kontextu HTML tato věda znamená v zásadě to stejné, jen v rámci elementů a jejich interpretace prohlížeči. Vývoj webových stránek totiž není pouze o tom, jak věci vypadají pro uživatele - je také o tom, jak "vypadají" i pro počítače. Vezměte si tyto dva elementy - <b>
a <strong>
. Oba vypadají stejně - činí text tučným. V jejich funkci je ale rozdíl - zatímco <b>
se používá pouze pro vizuální zvýraznění, <strong>
říká prohlížeči, že text, jenž obklopuje, je nějakým způsobem důležitý. O těchto dvou elementech konkrétně si řekneme později v této lekci.
Správné užití elementů může pomoct čtečkám obrazovek a umístění stránky ve vyhledávacích výsledcích, a tak by se význam elementů neměl ignorovat.
Nadpisy <h1> - <h6>
[editovat]V HTML existuje celkem šest elementů, které fungují jako nadpisy - <h1>
, <h2>
, <h3>
, <h4>
, <h5>
a <h6>
. Všechny jsou párovými tagy a na rozdíl od všech ostatních elementů, které si v této lekci představíme, by nikdy nemělo jít o potomky <p>
.
Každý typ nadpisu má jinou sémantickou úroveň - <h1>
je na té nejvyšší a je tak pro prohlížeče nejdůležitější, zatímco <h6>
na té nejnižší a je méně důležitý. Nadpis nejvyšší úrovně by se měl na jedné stránce použít pouze jednou.
<h1>Nadpis první a pro prohlížeče nejdůležitější úrovně</h1>
<h2>Nadpis druhé úrovně</h2>
<h3>Nadpis třetí úrovně</h3>
<h4>Nadpis čtvrté úrovně</h4>
<h5>Nadpis páté úrovně</h5>
<h6>Nadpis šesté a pro prohlížeče nejméně významné úrovně</h6>
Hiearchie
[editovat]Obecně platí, že by měla mezi nimi platit pevná hiearchie - všechny nadpisy <h2>
by měly být podřazeny nadpisu <h1>
, všechny <h3>
nadpisům <h2>
, a tak dále. Nikdy by se například nemělo stát, že po <h1>
bude přímo následovat <h3>
.
Důvodem je fakt, že mnoho uživatelů se čtečkami obrazovek rychle přeskakuje od nadpisu k nadpisu, aby rychle vyhodnotili obsah stránky. Pokud se ale vynechá jedna nebo více úrovní nadpisů, uživatel se bude pravděpodobně divit, kam se poděly. Prohlížeče navíc nadpisy používají k indexaci obsahu stránky.
<!-- Tohle je špatně! -->
<h1>Nadpis první úrovně</h1>
<h3>Nadpis třetí úrovně, přímo podřazen nadpisu první úrovně</h3>
<h2>Nadpis druhé úrovně, přímo podřazen nadpisu první úrovně</h2>
<h3>Nadpis třetí úrovně, přímo podřazen nadpisu druhé úrovně</h3>
<!-- Tohle je správně! -->
<h1>Nadpis první úrovně</h1>
<h2>Nadpis druhé úrovně, přímo podřazen nadpisu první úrovně</h2>
<h3>Nadpis třetí úrovně, přímo podřazen nadpisu druhé úrovně</h3>
<h2>Nadpis druhé úrovně, přímo podřazen nadpisu první úrovně</h2>
Formátování textu
[editovat]Tučný text <b>, <strong>
[editovat]
Tyto dva elementy jsme si již zmínili - používají se ke ztučnění textu. Zatímco <strong>
říká prohlížeči, že text, který obklopuje, je důležitý, u <b>
(bold) tomu tak není.
<p>
Zatímco tohle je <strong>důležitý text</strong>,<br>
tohle <b>není</b>.
</p>
Vizuálně není mezi nimi žádný rozdíl, jak lze vidět na obrázku níže:
Kurzíva <i>, <em>
[editovat]Párové tagy <i>
(italics) a <em>
(emphasis) se používají na vyznačování kurzívy. <em>
by se měl používat na slova, na která by měl být kladen důraz, <i>
zase na text, který se nějakým způsobem od toho ostatního liší (např. názvy lodí, technické termíny, transliterace (neboli přepis textu z jedné abecedy do jiné) apod).
Stejně jako v případě <b>
a <strong>
mezi nimi není žádný vizuální rozdíl.
<p>
HTML <em>není</em> značkovacím jazykem, protože není <i>turingovsky kompletní</i>.
</p>
Přeškrtnutí <s>, <del>
[editovat]
K přeškrtnutí částí textu se používají dva elementy - <s>
(strikethrough) a <del>
(deleted). <s>
slouží pro vyznačení textu, který již není relevantní nebo platný, zatímco <del>
pro vyznačení textu, který by měl být z dokumentu odstraněn.
<p>
Toustovač <s>byl vynalezen Alanem MacMasterem</s> je výsledkem práce mnoha vynálezců.<br>
<del>Alan MacMaster ho vynalezl roku 1893.</del>
</p>
Podtržení <u>, <ins>
[editovat]
Pro podrtržení textu slouží elementy <u>
(underline) a <ins>
(inserted). <ins>
vyznačuje text, jenž byl do dokumentu vložen až po jeho vydání, a tak často používá v kombinaci s elementem <del>
. <u>
reprezentuje text, jenž se od toho ostatního stylisticky liší (a používá se např. na vyznačování gramaticky chybných slov, což je užitečné spíše pro skripty).
<p>
Toustovač je <u>přítsroj</u> sloužící k opékání krajíců chleba.<br>
<del>Alan MacMaster ho vynalezl roku 1893.</del>
<ins>Za jeho vynález byl v letech 2012-2022 často kreditován Alan MacMaster. To je ale pouze hoax - MacMaster je pouze vymyšlenou osobou.</ins>
</p>
Zvýraznění <mark>
[editovat]<mark>
je párový tag používaný pro velmi viditelné zvýraznění nějakého důležitého textu, který by měl čtenáře zajímat.
<p>
Gliese 667 Cc je exoplaneta v systému Gliese 667. Je o 54 % větší než Země a obíhá hvězdy v tzv. obyvatelné zóně. Jeden tamější rok trvá něco přes 28 dní a teplota na povrchu je odhadována na 4 °C. Planeta je svými parametry dosti podobná Zemi a <mark>teoreticky by se na ní mohl vyskytovat život</mark>.
</p>
Dolní index <sub>
[editovat]Párový tag <sub>
(subscript) je využívaný pro vytváření dolních indexů. Ty jsou využívají například v chemických či algebraických vzorcích.
<p>
Oxid uhličitý (C0<sub>2</sub>) je bezbarvý plyn těžší než vzduch.
</p>
Horní index <sup>
[editovat]Párový tag <sup>
(superscript) je používán pro tvorbu horních indexů. Stejně jako dolní indexy se používají v chemii a matematice.
<p>
2<sup>0</sup> = 1<br>
2<sup>1</sup> = 2<br>
2<sup>2</sup> = 4<br>
2<sup>3</sup> = 8<br>
2<sup>4</sup> = 16
</p>
Vnořování elementů
[editovat]Tagy můžete do sebe vnořovat (tzv. nesting). To jsme si ukázali již v minulé lekci v rámci rodičovských elementů a potomků.
V oblasti formátování textu lze toho využít ke kombinaci efektů různých elementů (např. vytvoření tučné kurzívy). Měli byste si ale dávat pozor na uzavírání tagů ve správném pořadí!
<p>
HTML je <em><strong>značkovací jazyk</strong></em>, ne programovací.<br><br>
Vzorec pro vodu je <strong>H<sub>2</sub>O</strong>.
</p>
Sémantika a vzhled
[editovat]Obecně platí, že by se sémantické elementy neměly využívat pro čistě vizuální účely, protože to může snížit umístění vašeho webu ve vyhledávacích výsledcích a zhoršit přístupnost. Ke stylizování se používá pouze CSS.
Nepoužívejte tak například element <sub>
pouze na zmenšení velikosti textu.
Formátování v praxi
[editovat]Níže je příklad HTML dokumentu využívající některé elementy, které jsme v této lekci probrali.
Poznámka: V některých případech je formátování nadbytečné.
<!DOCTYPE html>
<html>
<head>
<title>HTML 101, lekce 3 - příklad</title>
</head>
<body>
<h1>Longyearbyen</h1>
<p><strong>Longyearbyen</strong> (rusky <i>Лонгйир</i>) je největší město na souostroví Špicberky. Má okolo 2 144 obyvatel. <mark>Je to nejseverněji položené město na světě</mark>.</p>
<h2>Historie</h2>
<p>Město založil v roce 1906 Američan John Munroe Longyear. Tehdy se jmenovalo Longyear City.<br>V roce 1916 se zde začalo <mark>těžit uhlí</mark>, těžbu provozovala firma Store Norske Spitsbergen Kulkompani. V současné době je v okolí města <mark>v provozu pouze jeden důl</mark>.</p>
<h2>Turistika</h2>
<p><em>Většina</em> turistů navštíví <strong>Longyearbyen</strong> na jaře a v létě. Asi 3 km západně od města je letiště Špicberky, ze kterého se dá odletět do Tromsø nebo do Osla v Norsku. </p>
</body>
</html>
Kód uvedený výše vytvoří takovou stránku:
Od minulé lekce dost významný posun! I přesto jde ale o pouhý začátek.
Příští lekce
[editovat]V příští lekci se podíváme na dělení elementů do dvou skupin (blokové a řádkové) a rozdíly mezi nimi. Jejich znalost je totiž pro rozložení HTML dokumentů a budoucí práci v CSS vysoce užitečná.