2.1
HTML
Autorem původního HTML, které vzniklo již počátkem devadesátých let minulého století, je Tim Berners-Lee. O standardy jazyka se stará W3C, na jejichž webu nalezneme i všechny jeho standardy. V současné době je již běžně používaná HTML5. Paralelně, i když původně zamýšlen jako nástupce HTML, je používán i jazyk XHTML, který je přísnější a vychází z pravidel jazyka XML. Pomocí jazyka HTML a jednoduchého neformátovaného textu jsme schopni vytvořit strukturovaný formátovaný multimediální dokument, kterému říkáme hypertext. To vše je za pomocí speciálních značek (tag), které jsou základním stavebním prvkem HTML dokumentu. Značky můžeme do sebe vnořovat a tím vytvářet složité hierarchické struktury. Každá značka má svůj význam a určené použití. Značky můžeme upřesňovat vkládáním atributů. Browser pozná, že se jedná o značku tím, že je obalena ve špičatých závorkách. Značky jsou obvykle párové, tedy mají svůj začátek a konec, který se pozná tak, že před názvem značky je umístěno lomítko. Obsah obalený značkou přejímá vlastnost značky. Tedy například text mezi značkami „b“ bude tučný a bude i patřičně tučně v prohlížeči zobrazen.
Příklad obecného zápisu značky:
<název-značky název-atributu=”hodnota-atributu”>Obalený obsah</název-značky>
Konkrétní příklady pro nadpis nejvyšší úrovně a následující odstavec, ve kterém je slovo „odstavce“ zvýrazněno tučně:
<h1>Nadpis první úrovně</h1>
<p>Toto je text <strong>odstavce</strong></p>
Atributy značky se používají zejména u odkazů a obrázků, kde musíme specifikovat cíl odkazu a zdrojový soubor obrázku:
<a href="index.html">Home page</a>
<img src="img/zeme.png" alt="Země"/>
Pak existují atributy „id“ a „class“, které je možné vložit do každé značky a tím jej jednoznačně rozlišit od ostatních. To se hodí například pro účely JavaScriptu nebo CSS. Význam je víceméně identický, rozdíl mezi nimi je však ten, že hodnota u atributu „id“ musí být v rámci dokumentu unikátní. Hodnoty „class“ se mohou stejné opakovat bez omezení.
Základní struktura prázdného HTML dokumentu vypadá takto:
<!DOCTYPE html>
<html lang="cs">
<head>
<!-- Hlavička webu -->
</head>
<body>
<!-- Tělo webu -->
</body>
</html>
Vidíme, že na prvním řádku je určení typu dokumentu vyhovující specifikaci pro HTML 5. Hlavní obalová značka dokumentu je „html“, která má dva potomky „head“ a „body“. Informace v hlavičce jsou určené obvykle pro prohlížeče a vyhledávací boty. Najdeme tam například určení kódování, informace o autorovi, popisek, titulek, meta data pro sociální sítě, favicon a další.
Příklad vyplněné hlavičky:
<base href="">
<title>HTML Web</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Jednoduchá webová stránka, která vznikla za účelem demonstrace jazyka HTML.">
<meta name="keywords" content="výuka, html">
<meta name="author" content="Michal Bubílek">
<meta name="robots" content="noindex, nofollow">
<meta property="og:title" content="HTML Web" />
<meta property="og:type" content="website" />
<meta property="og:url" content="http://" />
<meta property="og:image" content="img/html.jpg" />
<meta property="og:description" content="Jednoduchá webová stránka, která vznikla za účelem demonstrace jazyka HTML." />
<meta property="og:site_name" content="Výuka webů" />
<link rel="icon" type="image/png" sizes="32x32" href="img/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="img/favicon-16x16.png">
<link rel="shortcut icon" href="img/favicon.ico">
Tělo pak obsahuje vše, co se zobrazuje v hlavním okně prohlížeče. Protože HTML obsah generujeme pomocí PHP, je dobré jej znát. Uvedeme si několik základních značek. Ve výčtu se budou objevovat pojmy jako párová značka, bloková značka atp. Pojďme si je nejprve vysvětlit.
Párová značka je značkou obalovací, která má svůj začátek a konec označený lomítkem. Obsah uvnitř této značky má vlastnost této značky. Příkladem je třeba titulek (<title></title>), odstavec (<p></p>), nadpis (<h2></h2>)… Kdežto značka nepárová nic neobaluje a nemá tedy svou koncovou část. Obvykle slouží jen pro vložení nějaké informace na patřičné místo webu. Příkladem nepárové značky je pak meta (<meta>), link (<link>), obrázek (<img>), odřádkování (<br>)… I nepárové značky můžeme uzavřít: <br />.
Značky dělíme dle typu formátování textu na logické a fyzické. Logické formátování vymezuje význam textu obaleného patřičnou značkou. V textu tak určujeme, co je běžný odstavec, co nadpis, co je důležitější zvýrazněný text, co citace, co zkratka a podobně. U fyzického formátování neurčujeme význam, ale jen vzhled. Můžeme tak určit například tučné písmo, kurzívu, podtržení, horní i dolní index… Například ale u tučného písma neříkáme nic o tom, že je důležitější než jiný text. Browsery mají i pro logické formátování předdefinovaný styl zobrazení, a proto bude nadpis zobrazen výrazněji než běžný text. Celkově si ale vzhled nastavujeme v CSS.
Z hlediska typu zobrazení dělíme značky na blokové a řádkové. To lze v CSS změnit a těchto druhů zobrazení je i více. HTML značky mají ale nastaven nějaký výchozí typ zobrazení. Blokový znamená, že obsah značky se zobrazí jako samostatný obdélník na webové stránce v plné šíři. Řádkové zobrazení chápejme jako text, který může začínat v půlce odstavce a pokračovat přes další tři řádky. Další text pak následuje hned za ním, pokračuje do konce řádku atp.
Nadpisy <h1> až <h6>
- Párové blokové značky s logickým formátováním,
- <h1> je nejdůležitější nadpis, hlavní nadpis, nadpis stránky…,
- <h6> je nejméně důležitý nadpis.
Odstavce <p>
- Párová značka, logické formátování, bloková značka.
Logické formátování textu
- Párové řádkové značky,
- <strong> zvýrazněný, důležitý text, obvykle tučný,
- <em> zdůrazněný text, obvykle kurzíva,
- <cite> citace, titulek,
- <code> zdrojový kód,
- <var> proměnná.
Fyzické formátování textu
- Párové řádkové značky,
- <b> tučný text,
- <i> kurzíva,
- <u> podtržený text,
- <sub> dolní index,
- <sup> horní index,
- <small> malý text,
- <big> velký text,
- <font> nastavení fontu.
Odrážkové <ul> a číslované <ol> seznamy
- Párové blokové značky,
- <ul> odrážkový seznam,
- <ol> číslovaný seznam,
- <li> položka seznamu.
Příklad odrážkového seznamu:
<ul>
<li>První položka odrážkového seznamu</li>
<li>Druhá položka odrážkového seznamu</li>
</ul>
Odkazy <a>
- Párová řádková značka,
- atributy href (určení cíle odkazu, URL) a title (titulek po najetí myši).
Příklad odkazu na externí web a lokální obrázek:
<a href="http://www.google.com" title="Google">Klikni na mě</a>
<a href="img/pict.jpg" title="Foto">Zobrazit obrázek</a>
Obrázek <img>
- Nepárová řádková značka,
- atributy src (určení zdroje obrázku) a alt (alternativní text).
Příklad:
<img src="img/mesto-leto.jpg" alt="Krásný letní den v ulici malého města">
Tabulky
- Párové značky,
- <table> tabulka,
- <tr> řádek tabulky,
- <th> buňka záhlaví,
- <td> datová buňka.
Příklad jednoduché tabulky:
<table>
<tr>
<th>Jméno</th>
<th>Příjmení</th>
</tr>
<tr>
<td>František</td>
<td>Novák</td>
</tr>
<tr>
<td>Emil</td>
<td>Nádeníček</td>
</tr>
</table>
Formuláře
- <form> Formulář, hlavní obalovací značka, atributy: action (URL skriptu, který bude data z formuláře zpracovávat), method (budou-li data zaslána metodou GET nebo POST).
- <input> Vstupní políčko, nepárová značka, atributy: name (název), type (text, password, hidden, email…), value (výchozí hodnota).
- <select> Výběrové menu, párová značka, atribut: name.
- <option> Položka výběrového menu, párová značka, musí být přímým potomkem značky <select>, atribut: value (odesílaná hodnota).
- <textarea> Textová oblast, párová značka, atributy: name, rows, cols.
- <label> Popisek pole, párová značka, atribut: for.
- <fieldset> Množina prvků.
- <legend></legend> Nadpis.
Příklad formuláře:
<form action="form.php" method="POST">
<fieldset>
<legend>Login</legend>
<label for="name">Jméno:</label>
<input id="name" type="text" name="username" value="">
<label for="pass">Heslo:</label>
<input id="pass" type="password" name="password" value="">
<select id="lang" name="language">
<option value="cze">Čeština</option>
<option value="eng">English</option>
<option value="ger">Deutsh</option>
</select>
<input type="submit" name="submit" value="Přihlásit">
</fieldset>
</form>
Kontejnery <div> a <span>
- Bez grafického efektu,
- bez specifického významu,
- používají se pro tvorbu struktury a layoutu webu,
- <div>, párová bloková značka,
- <span>, párová řádková značka.
HTML 5 značky
- <article> Článek, komentář…,
- <aside> například boční text,
- <canvas> plátno pro vykreslování her, obrázků…,
- <cite> označení titulku díla, ze kterého je citováno,
- <figcaption> a <figure> popisky k například obrázkům,
- <header> hlavička,
- <footer> patička,
- <nav> hlavní navigace,
- <section> obsahová část stránky.
Nejsou zde uvedeny všechny značky. Studenti by si měli případné další dohledat a alespoň vědět, že existují. Nesmíme také zapomenout, že odřádkování ve zdrojovém kódu bude prohlížeč ignorovat a z několika po sobě jdoucích mezer udělá mezeru jednu.
Zdrojový kód:
Toto je pokusný
text.
Výsledek v okně prohlížeče:
Toto je pokusný text.
Pokud přeci jen toto potřebujeme, máme možnost díky značkám <pre></pre>, <br> a HTML entitě , která je popsána níže.
DOM je objektově orientovaná reprezentace HTML dokumentu. Umožňuje přístup k jednotlivým objektům obsahu dokumentu. Můžeme tak upravovat jak obsah, tak strukturu dokumentu. DOM má hierarchickou (stromovou) strukturu, která dokument reprezentuje. Mějme jednoduchou webovou stránku:
<!DOCTYPE html>
<html lang="cs">
<head>
<title>HTML Web</title>
<meta charset="utf-8">
</head>
<body>
<h1>Nadpis<h1>
<p id="první-odstavec">Toto je <b>první</b> odstavec.</p>
</body>
</html>
Pak její DOM bude:
+

Obr. 4. DOM ukázkového webu
Díky tomuto objektovému modelu můžeme lépe pochopit strukturu dokumentu a různá označení typu potomek elementu, přímý potomek elementu, rodič, element na stejné úrovni, element za elementem a podobně.
Protože jsou některé znaky rezervované pro účely jazyka a některé znaky nejsou běžně na klávesnici, jsou zavedeny HTML entity. Jedná se o speciální řetězce začínající symbolem ampersand (&) a končící středníkem (;). Mezi těmito znaky je název nebo kód entity.
Tabulka 1. Vybrané HTML entity
Výsledek | Název | Entity s názvem | Entity s číslem |
& | Ampersand | & | & |
Nedělitelná mezera | |   | |
< | Menší než | < | < |
> | Větší než | > | > |
€ | Euro | € | € |
© | Copyright | © | © |
∑ | Suma | ∑ | ∑ |
Souhrn
Vidíme, že systém značek je jednoduchý a přitom velmi silný nástroj pro vytváření strukturovaného multimediálního obsahu. Pro bližší informace navštivte weby W3C a W3Schools.
Kompletní ukázkový příklad s vyplněnou hlavičkou a využívající základní značky naleznete v archivu K2_html.zip. Tato ukázka prezentuje čisté HTML bez jakéhokoliv nastavení designu.
+

Obr. 5. Ukázkový web psaný čistě v HTML 5 (snímek obrazovky)
Jak se nazývá hlavní rodičovský HTML element dokumentu webové stránky?
Jaký povinný atribut má HTML značka pro odkaz?
Může mít HTML značka více atributů?
Vyberte výcebytový unicode standard kódování textu.
Vyberte značku pro zdůraznění důležitosti textu, který je na stránce obvykle zobrazen kurzívou.
Vyberte značku pro položku odrážkového seznamu.
Jaká je HTML entita pro nedělitelnou mezeru?