Lekce 4 - Tabulky v HTML
V předešlém cvičení, Řešené úlohy k 1.-3. lekci HTML a CSS, jsme si procvičili nabyté zkušenosti z předchozích lekcí.
V dnešním HTML tutoriálu si ukážeme, jak se v HTML dělají tabulky a seznamy. Oboje jsou jakési kontejnery, do kterých se vkládají další elementy. Používáme je pro uspořádání těchto elementů, čímž dosáhneme přehlednosti a jednotného vzhledu.
Tabulky
Často se stává, že na stránkách potřebujeme tabulku. Tabulka nám umožňuje vkládat do jejích buněk elementy, které jsou potom hezky uspořádané. Na rozdíl od odstavců, které se vždy skládají pod sebe, si můžeme text v tabulce skládat úhledně vedle sebe. V buňkách mohou být kromě textu samozřejmě i obrázky a další elementy. To se může hodit například k zobrazování nějakých výsledků, parametrů nebo statistik. Například na ITnetwork se tabulky mimo jiné využívají na výpis programů a tutoriálů.
První tabulka
Vytvořme si první, jednoduchou tabulku. Založte si někde bokem nový HTML
soubor, vyplňte doctype
, hlavičku, však to už znáte Vytvořme si tabulku o 3
sloupcích a 2 řádcích. Hlavičku i patičku zatím vynecháme.
<table border="1"> <tr> <td>Buňka 1</td> <td>Buňka 2</td> <td>Buňka 3</td> </tr> <tr> <td>Buňka 4</td> <td>Buňka 5</td> <td>Buňka 6</td> </tr> </table>
Výsledek bude vypadat takto:

Tabulku uzavřeme mezi párový tag <table>. Každý řádek uzavřeme do párového tagu <tr> (jako table row = řádek tabulky). Jednotlivé buňky jsou poté v řádku obalené tagem <td> (jako table data).
Protože stylování webových stránek se budou věnovat samostatné díly, my si zde prozradíme pouze atribut border, který označuje tloušťku rámečku tabulky. Jako výchozí je 0, tedy vypnutý. Výše jsme ho nastavili na 1 pixel.
Tabulka s hlavičkou
Tabulce můžeme dát i složitější strukturu a to podobnou, jakou má HTML stránka. Může obsahovat hlavičku v tagu <thead> a potom tělo v <tbody>. Hlavičkou tabulky se myslí první řádek, který popisuje, co hodnoty ve sloupcích znamenají.
Hlavičku můžeme také úplně vynechat a tělo poté nemusíme do tbody obalovat. Za thead může následovat podobně tfoot, obsahující patičku tabulky. V hlavičce píšeme také <tr>, ale místo <td> píšeme <th> (jako table header = nadpis tabulky).
Nejlépe vše pochopíme na další ukázce, vytvoříme si tabulku s několika notebooky a jejich parametry. Ikonky notebooků jsem pro vás připravil, stáhněte si je níže:



Naši jednoduchou tabulku výše nyní přetvoříme na něco složitějšího, vložte místo ní kód níže:
<table border="1"> <thead> <tr> <th>Náhled</th> <th>Typ</th> <th>Procesor</th> <th>Graf. karta</th> <th>Skladem</th> </tr> </thead> <tbody> <tr> <td><img src="obrazky/nb1.png" alt="Notebook"></td> <td>AB8AC9</td> <td>Intel Atom</td> <td>Nvidia</td> <td>Ano</td> </tr> <tr> <td><img src="obrazky/nb2.png" alt="Notebook"></td> <td>GS8DGF</td> <td>AMD</td> <td>ATI</td> <td>Ano</td> </tr> <tr> <td><img src="obrazky/nb3.png" alt="Notebook"></td> <td>KG1862A</td> <td>Neuvedeno</td> <td>Neuvedeno</td> <td>Ne</td> </tr> </tbody> </table>
Výsledek:

Vidíme, že tabulka má hlavičku, text v hlavičce je tučný a centrovaný. Jinak zde není zatím nic nového.
Slučování buněk
Sousední buňky v tabulce můžeme slučovat. Pokud budeme
slučovat buňky v řádku, zapíšeme buňku jen jednou a dáme ji atribut
colspan
. Ten bude mít hodnotu s číslem, kolik buněk propojuje.
V tabulce uvedené výše se nabízí propojit buňky Neuvedeno v jednu. Hodnota
colspan
buňky bude tedy 2 (spojujeme 2 buňky v řádku) a druhou
buňku smažeme. Kód posledního řádku tedy upravíme takto:
<tr> <td><img src="obrazky/nb3.png" alt="Notebook"></td> <td>KG1862A</td> <td colspan="2">Neuvedeno</td> <td>Ne</td> </tr>
A výsledek:

Obdobně můžeme spojovat i buňky ve sloupci a to pomocí atributu
rowspan
, který udává, přes kolik řádků se spojuje. Spojme
ještě dvě buňky s textem "Ano". Jednu buňku opět vymažeme, té horní
dáme atribut rowspan
s hodnotou 2
. První dva řádky
budou tedy vypadat takto:
<tr> <td><img src="obrazky/nb1.png" alt="Notebook"></td> <td>AB8AC9</td> <td>Intel Atom</td> <td>Nvidia</td> <td rowspan="2">Ano</td> </tr> <tr> <td><img src="obrazky/nb2.png" alt="Notebook"></td> <td>GS8DGF</td> <td>AMD</td> <td>ATI</td> </tr>
Výsledek:

To je prozatím k tabulkám vše, kód dnešního tutoriálu opět ke stažení v příloze níže. Jak se text v tabulkách styluje a zarovnává a jak se buňkám nastavuje velikost si ukážeme později. Dříve se k tomu používaly speciální atributy, které jsou však nyní zastaralé a tak je zde nechci uvádět. Nově se pro vše používá stylovací jazyk CSS, který si brzy uvedeme.
V minulosti se tabulky používaly pro tvorbu tzv. layoutu stránky (rozdělení stránky na odkazovou lištu, logo a obsah), a i když to u statických stránek může zdát výhodné, je to z významového hlediska nevhodné. Zpočátku seriálu jsem nechtěl čtenáře mást cizími slovy, ale odteď budu používat slovo sémantika. Webová sémantika se zabývá významem jednotlivých elementů. Použití tabulky na rozvržení stránky je tedy nesémantické, protože i když se web vykreslí správně, tabulka má obsahovat nějaké hodnoty a ne celý webový obsah. Zkuste si vzpomenout na rozdíl mezi tagem <strong> a <b>. Oba vypadají stejně, ale zvýrazňovat text tagem <b> je nesémantické, protože tento tag nedává textu absolutně žádný vyšší význam, jen říká, že se má k vykreslení použít tučný font. Naopak <strong> říká: "Tento text je důležitý". Sémantika je to, co to znamená, ne to, jak to vypadá. Je velmi důležitá, protože sémantické webové stránky mají potom výhodu ve vyhledávačích a mají často vyšší návštěvnost.
Pro dnešní lekci to bude vše
V příští lekci, Seznamy v HTML a zopakování tabulky, si ukážeme seznamy a přidáme do našeho webu navigaci.
Stáhnout
Staženo 1331x (16.95 kB)
Aplikace je včetně zdrojových kódů v jazyce HTML a CSS
Komentáře


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