Jak udělat responzivní tabulku

15.8.2023 Editováno: 19.9.2023 Kategorie: Ostatní

Mezi strašáky každého front-end vývojáře patří bezesporu tabulka. Při jedné z posledních zakázek, jsem se s ní po dlouhé době sám setkal. Když jsem začínal s programováním, učil jsem se, že tabulka je něco zastaralého, co by se nemělo moc používat. Jako jedinou možnost responzivity jsem znal rolování do boku. To není špatně, jen to není moc hezké a moderní. Díky modernímu CSS se s tím dá opravdu hodně vyhrát.

Tabulka na monitoru počítače

Připravil jsem malý příklad, kde používám Media Queries pro změnu vzhledu tabulky na mobilním zařízení. Hned na začátku bych rád upozornil na důležitou věc. Vždy používejte každý tag nebo komponentu k tomu, k čemu slouží. Tabulka se má používat k přehlednému třídění dat, nikoli třeba k vytváření layoutu webu.

Osobně rád používám sémantické tagy thead a tbody. Díky nim se vše snáze styluje. Když si tedy tabulku hezky vyladíte pro monitor, použijte vývojářské nástroje v prohlížeči. Přepněte se do zobrazení na mobilním zařízení a začněte tabulku zmenšovat. Zaznamenejte si hodnotu kdy se začne bortit. Tu si pak nastavte jako max-width u Media Queries.

Tabulka na displeji telefonu

Tak, a teď to hlavní. Určitě nastavíme u thead display none, jednoduše ji zneviditelníme. Tagu tr nastavíme display block a tagu td display flex. A na závěr je pro nás nejdůležitější pseudo-element ::before. Ten nám právě nahradí zneviditelněnou hlavičku. Podrobnosti si samozřejmě můžete dohledat v kódu.

Tím máme takové rychlé shrnutí za sebou. Ode mě je to dnes zatím vše…