Struktura tabulky, vzhled tabulky pomocí CSS, sloučení buněk (rowspan, colspan)
Formát: 30 min praktická úloha, 15 min obhajoba + teorie. Tady je teorie kompletní (i s tím, co tvoje původní zápisky neměly:
<caption>,scope, responsive tables, sticky header) a praktika s řešením.
Tabulky jsou pro tabulková data: informace organizované do řádků a sloupců, kde má smysl je porovnávat (ceník, rozvrh, výsledky, statistiky, technické parametry produktu).
Důležitý kontext: V 90. letech a začátku 2000. let se tabulky používaly pro layout celé stránky (různě vnořené
<table>pro hlavičku, sidebar, main). To byl klasický anti-pattern, který zabíjel SEO, accessibility a zpomaloval rendering. Dnes jsou pro layout Flexbox a Grid, tabulky jen pro skutečná tabulková data.
| Použít tabulku | Nepoužívat tabulku |
|---|---|
| Ceník služeb | Layout celé stránky |
| Rozvrh hodin | Mřížka karet produktů (použij Grid) |
| Sportovní výsledky | Formulář (použij CSS Grid nebo Flexbox) |
| Technické parametry | Galerie obrázků |
| Porovnání produktových plánů | Vícesloupcový text (použij CSS columns) |
| Bankovní výpisy | Hero sekce, navbar, footer |
<table>
<tr> <!-- table row -->
<th>Jméno</th> <!-- table header (záhlaví buňka) -->
<th>Věk</th>
<th>Město</th>
</tr>
<tr>
<td>axo</td> <!-- table data (běžná buňka) -->
<td>18</td>
<td>Liberec</td>
</tr>
<tr>
<td>karel</td>
<td>19</td>
<td>Praha</td>
</tr>
</table>
| Element | Plný název | K čemu |
|---|---|---|
<table> |
Table | Kořen tabulky |
<tr> |
Table Row | Jeden řádek |
<th> |
Table Header | Záhlaví (bold, centrované) |
<td> |
Table Data | Běžná buňka |
Drobnost: atribut
<table border="1">je HTML4 přežitek. Dnes se ohraničení dělá výhradně v CSS. Pro maturitu si to pamatuj:border="1"v HTML je deprecated.
Tabulku lze (a měla by se) rozdělit na tři logické části:
<table>
<thead>
<tr>
<th>Produkt</th>
<th>Cena</th>
<th>Dostupnost</th>
</tr>
</thead>
<tbody>
<tr>
<td>Notebook</td>
<td>20 000 Kč</td>
<td>Skladem</td>
</tr>
<tr>
<td>Telefon</td>
<td>10 000 Kč</td>
<td>Není skladem</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="3">Ceny jsou včetně DPH.</td>
</tr>
</tfoot>
</table>
| Element | K čemu |
|---|---|
<thead> |
Hlavička (typicky 1 řádek s <th> názvy sloupců) |
<tbody> |
Tělo (data) |
<tfoot> |
Patička (typicky souhrn, total, poznámka) |
Výhody rozdělení: