IT rekvalifikácia. Seniorní programátori zarábajú až 6 000 €/mesiac a rekvalifikácia je prvým krokom. Zisti, ako na to!

7. diel - Bootstrap - Tabuľky

V predchádzajúcom kvíze, Kvíz - Grid systémy v Bootstrap, sme si overili nadobudnuté skúsenosti z predchádzajúcich lekcií.

V dnešnom CSS tutoriále Bootstrapu si ako posledný zo základných HTML elementov, ktorý sme ešte pomocou Bootstrapu nestylovali, predstavíme tabuľky.

Trieda .table

Už vieme, že z Rebootu tabuľky majú border-style nastavený na collapse a majú ľahko upravené vykresľovanie <caption> a text-align. Pre ďalšie štylovanie je nutné pridať explicitne triedu .table a to z toho dôvodu, že tabuľky sú hojne využívané rôznymi widgetmi, ktoré s Bootstrapom nemusia počítať. Trieda .table tabuľkám dodá najmä vodorovné čiary oddeľujúce jednotlivé riadky. Trieda .table-light potom dodá ešte ľahké zafarbenie tabuľky:

V kóde vyzerá zápis takto:

<table class="table">
   <caption>Characters from the Simpsons TV show © Matt Groening, 20th Century Fox</caption>
   <thead>
      <tr>
         <th>First Name</th>
         <th>Last Name</th>
         <th>Age</th>
      </tr>
   </thead>
   <tbody>
      <tr>
         <td>Homer</td>
         <td>Simpson</td>
         <td>39</td>
      </tr>
      <tr>
         <td>Ned</td>
         <td>Flanders</td>
         <td>60</td>
      </tr>
      <tr>
         <td>Edna</td>
         <td>Krabappel</td>
         <td>41</td>
      </tr>
   </tbody>
</table>

V prehliadači potom vidíme:

Tables in Bootstrap
tables.html

Tmavý motív

Bootstrap ponúka aj tmavý vzhľad, stačí pridať tabuľke okrem triedy .table ešte triedu .table-dark:

Tables in Bootstrap
tables.html

Motívy hlavičky

Farbu hlavičkového riadku môžeme nastaviť priradením triedy .table-*, kde hviezdičku nahradíme príslušnou farbou, elementu <thead>, v ktorom sa nachádzajú hlavičkové bunky. Dajú sa však využiť pre rôzne časti tabuľky. Môžeme teda priradiť tieto triedy ďalej priamo k <tbody>, <tr>, <th> a <td>, aby sa zmenila farba daných častí tabuľky. Pre svetlú hlavičku použijeme .table-light a pre tmavú hlavičku .table-dark:

V prehliadači uvidíme:

Tables in Bootstrap
tables.html

A ukážka tmavšej hlavičky:

Tables in Bootstrap
tables.html

Pruhy

Veľmi prehľadne pôsobí, keď urobíme tabuľku pruhovanú a necháme pri ich riadkoch striedať tmavé a svetlé pozadie. To docielime pridaním triedy .table-striped priamo elementu <table>. V Bootstrape väčšinou platí konvencia, že trieda začína elementom, ku ktorému sa pridáva. Všetky ďalšie triedy začínajúce na .table- budeme teda pridávať k elementu <table>:

Tables in Bootstrap
tables.html

Štýl funguje aj pre tmavé tabuľky.

Rámček

Rámček pri tabulkách môžeme pridať triedou .table-bordered opäť priamo elementu <table>.

Aktívny riadok

V dlhých tabuľkách s mnohými hodnotami môže byť aj pri zebrovaní (pruhovaní) namáhavé prečítať hodnoty na určitom riadku. Môžeme si pomôcť triedou .table-hover, ktorá riadok zvýrazní, keď naň vstúpime kurzorom myši. Štýl opäť funguje aj pre tmavé tabuľky:

Tables in Bootstrap
tables.html

Nižšie riadky

Pre dlhé tabuľky môže vyzerať lepšie zmenšiť padding buniek na polovicu. K tomu nám slúži trieda .table-sm, ktorá urobí tabuľku kompaktnejšou. Opäť funguje aj pre tmavé tabuľky:

Tables in Bootstrap
tables.html

Pozadia buniek

Pre nám už známe farby môžeme použiť rovnomenné triedy s prefixom table-. Sú to triedy:

  • .table-primary - hlavná farba, ako predvolená modrá,
  • .table-secondary - druhá hlavná farba, predvolená šedá,
  • .table-success - zelená na úspešné hlášky, zľavy, potvrdzujúce tlačidlá,
  • .table-danger - červená pre chyby a podobne,
  • .table-warning - žltá pre zvýraznenie dôležitých hlášok, tipov,
  • .table-info - neutrálna modrá pre neutrálne zvýraznenie,
  • .table-light - svetlounca sivá,
  • .table-dark - takmer čierna.

Všimnime si, že farby sú o niečo svetlejšie ako tie štandardné, aby bol na nich text dobre čitateľný.

Triedu je možné priradiť celému elementu <table>, ale slúži najmä na zvýraznenie pozadia buď celých riadkov (elementov <tr>) alebo konkrétnych buniek (elementov <td> a <th>):

Tables in Bootstrap
tables.html

Tieto svetlé štýly nie sú vhodné pre tmavý motív tabuľky. Pokiaľ ho práve používame, môžeme využiť univerzálne utility triedy pre farby viď ďalej.

Utility triedy pre farby

Ďalšie utility triedy, ktoré si teraz predstavíme, sú univerzálne triedy na zafarbovanie.

Farba textu

Pokiaľ potrebujeme kdekoľvek zmeniť farbu textu, máme k dispozícii nasledujúce triedy:

  • .text-primary - hlavná farba, ako predvolená modrá,
  • .text-secondary - druhá hlavná farba, predvolená šedá,
  • .text-success - zelená na úspešné hlášky, zľavy, potvrdzujúce tlačidlá,
  • .text-danger - červená pre chyby a pod.,
  • .text-warning - žltá pre zvýraznenie dôležitých hlášok, tipov,
  • .text-info - neutrálna modrá pre neutrálne zvýraznenie,
  • .text-light - svetlo šedý text, vhodný pre tmavé pozadie,
  • .text-dark - takmer čierna.

Štýly počítajú aj s odkazmi, musíme im však triedu tiež priradiť. Bootstrap ale tiež poskytuje špeciálne triedy pre odkazy, ktoré zahŕňajú dodatočné stavy interakcie :hover a :focus. Použitím tried .link-* na odkazy zaistíme, že odkazy budú mať nielen správnu farbu, ale aj zodpovedajúce vizuálne odozvy na užívateľské akcie.

Farba pozadia

Pre farbu pozadia máme v Bootstrape triedy s prefixom bg-:

  • .bg-primary - hlavná farba, ako predvolená modrá,
  • .bg-secondary - druhá hlavná farba, predvolená šedá,
  • .bg-success - zelená na úspešné hlášky, zľavy, potvrdzujúce tlačidlá,
  • .bg-danger - červená pre chyby a podobne,
  • .bg-warning - žltá pre zvýraznenie dôležitých hlášok, tipov,
  • .bg-info - neutrálna modrá pre neutrálne zvýraznenie,
  • .bg-light - svetlunka sivá,
  • .bg-dark - takmer čierna.

Je k dispozícii aj podpora gradientov, ale tie sú v predvolenom nastavení vypnuté a preto sa nimi nebudeme zaoberať. Bootstrap odporúča pridávať okrem farbiacich tried aj alternatívny text skrytý pomocou triedy .visually-hidden. Ten sa potom prejaví napr. ľuďom s hlasovými čítačkami a význam zafarbenia (napríklad zľavy) bude zachovaný aj v audio verzii webu:

Text colors in Bootstrap
text_colors.html

Aby sme sa vrátili k tabuľkám, pokiaľ by sme teda pri tmavej tabuľke potrebovali zafarbiť nejaký riadok, stačí použiť triedy na zafarbenie pozadia s prefixom bg-.

Responzívne tabuľky

Docieliť naozaj responzívnych tabuliek je bohužiaľ pomerne problém. Tabuľky nie je možné zalomiť a preto by sme ich mali používať naozaj len na miestach, kde užívateľovi reprezentujeme nejaké dáta, ktoré musia zostať vždy presne na daných riadkoch. Použiť tabuľky napríklad na tvorbu fotoalbumu by bolo zlé rozhodnutie, fotografie sa môžu ľubovoľne zalamovať a preto na tieto účely môžeme použiť grid (viď ďalej v kurze).

Spôsoby pre zmenšenie tabuľky pri otvorení dát na mobilnom zariadení sú iba 2:

  • JavaScript - tabuľku zlámeme pomocou JavaScriptu tak, aby na každom riadku bol len jeden popis a jedna hodnota. Jednotlivé riadky sa tak stanú stĺpčekmi. Tie potom musíme nejako vizuálne oddeľovať, aby sa spoznalo kde začína ďalší „riadok“. Toto riešenie je pomerne krkolomné.
  • Scrollbar – ďalšou možnosťou je jednoducho pridať tabuľke scrollbar. Na menších zariadeniach sa teda tabuľka oreže a my budeme schopní pohybovať s jej obsahom vo výreze. Toto riešenie je funkčné a veľmi jednoduché. Jediná nevýhoda je, že nevyzerá tak pekne. Pre toto riešenie sa rozhodol Bootstrap.

Responzívnu tabuľku vytvoríme pridaním triedy .table-responsive k elementu <table>. Pretože scrollbary nevyzerajú dvakrát príťažlivo, máme možnosť zvoliť od akého breakpointu sa zobrazí. K tomu môžeme využiť triedy:

  • .table-responsive-sm,
  • .table-responsive-md,
  • .table-responsive-lg,
  • .table-responsive-xl,
  • .table-responsive-xxl.

Triedu .table-responsive v tomto prípade už neuvádzame.

Pokiaľ si zmenšíme okno prehliadača, tabuľke v ukážke nižšie sa pridá scrollbar:

Tables in Bootstrap
tables.html

Touto lekciou sme dokončili hlavnú súčasť Bootstrapu na štýlovanie bežných HTML elementov. Ďalej sa budeme venovať tzv. komponentom, ktoré sú najčastejšie tvorené elementmi <div> alebo <span> a umožňujú nám používať veľmi užitočné prvky, ktoré HTML v základe vôbec neponúka.

V budúcej lekcii, Bootstrap - Tlačidlá, nás čakajú tlačidlá a všetko okolo ich nastavenia.


 

Predchádzajúci článok
Kvíz - Grid systémy v Bootstrap
Všetky články v sekcii
Kompletný kurz CSS frameworku Bootstrap
Preskočiť článok
(neodporúčame)
Bootstrap - Tlačidlá
Článok pre vás napísal David Hartinger
Avatar
Užívateľské hodnotenie:
4 hlasov
David je zakladatelem ITnetwork a programování se profesionálně věnuje 15 let. Má rád Nirvanu, nemovitosti a svobodu podnikání.
Unicorn university David sa informačné technológie naučil na Unicorn University - prestížnej súkromnej vysokej škole IT a ekonómie.
Aktivity