Tabulky

Pro zápis tabulek obsahuje jazyk HTML komplexní prvek TABLE. Specifikace se vyvíjí – není definitivní, může se měnit a používají ji jen některé prohlížeče.

základní schéma tabulky:  
<TABLE>  
  <CAPTION>…nadpis_tabulky…</CAPTION> smí se vyskytovat pouze jednou; nemusí být na začátku
  <COL> prvky se vyskytují pouze tehdy, když se specifikují společné vlastnosti skupiny tabulkových sloupců
  .    
  </COLGROUP>  
    <COL>  
    .  
  </COLGROUP>  
  <THEAD> …záhlaví_tabulky…</THEAD> smí se vyskytnout pouze jednou a musí předcházet TBODY
  <TFOOT>…pata_tabulky…</TFOOT> smí se vyskytnout pouze jednou a musí předcházet TBODY
  <TBODY> pokud není uvedeno záhlaví tabulky, nemusí být uveden
    <TR> tabulka musí obsahovat nejméně jeden řádek
      <TD>…”normální”_pole_tabulky…</TD> tabulkový řádek musí obsahovat alespoň jedno datové pole
      .  
      <TH>…”hlavičkové”_pole_tabulky…</TH> záhlaví sloupce řádku je pouze zvýrazněné datové pole
      .  
    </TR>  
    .  
  </TBODY>  
  .  
  .  
</TABLE>  

vymezení tabulky
<TABLE>
<TABLE width=”šířka_tabulky” cols=počet_sloupců colspec=specifikace_sloupců align=[left|right|center|justify|bleed|elf|bleedright] frame=[void|above|below|hsides|lhs|rhs|vsides|box|border] border=tloušťka_rámu rules=[none|basic|rows|cols|all] cellspacing=”mezera_mezi_buňkami” cellpadding=”mezera_uvnitř_buňky” clear=[left|right|all] noflow units=[en|relative|pixels] nowrap>
posloupnost_prvků_tabulky
</TABLE>
  párová značka, která vymezuje tabulku; obsahem prvku TABLE je posloupnost prvků, které popisují různé části tabulky; uspořádání prvků v posloupnosti je důležité a skládá se z: nanejvýše jednoho prvku CAPTION, případně COL nebo COLGROUP prvků, nanejvýše jednoho prvku THEAD, nanejvýše jednoho prvku TFOOT, a konečně nejméně jednoho prvku TBODY nebo nejméně jednoho prvku TR; pro zápis vlastního obsahu tabulkových polí platí stejná pravidla jako pro tělo dokumentu; v tabulkových polích lze proto použít kompletní arzenál značek platný pro vytváření vlastního obsahu dokumentu (texty, obrázky, grafika, formuláře, hyperlinky,… včetně tabulek – je tedy povoleno vnořování tabulek)
  width= specifikuje celkovou požadovanou šířku tabulky (implicitně v pixelech); připojením standardizované zkratky k hodnotě může být zadána i v jiných jednotkách (viz. “Dodatky”); použitím přípony % lze specifikovat šířku tabulky jako procento současné vzdálenosti levého a pravého okraje aktuálního okna
  cols= specifikuje celkový počet sloupců v tabulce a napomáhá prohlížecímu programu určit počáteční zobrazení a rozvrh tabulky
  colspec= specifikuje šířky a zarovnání jednotlivých sloupců; například: COL=”L8 C20 R50”; L , C, R specifikuje zarovnání vlevo, centrovat, vpravo
  align= specifikuje relativní umístění v okně:
  left zarovnání k levému okraji okna
  right zarovnání k pravému okraji okna
  center zarovnání doprostřed mezi levý a pravý okraj okna
  justify zarovnání do bloku (roztažení mezi pravý a levý okraj okna, pokud to jde)
  bleedleft rozšíření Netscape
  bleedright rozšíření Netscape
  frame= určuje způsob zobrazení vnějších obrysů tabulky:
  none/void žádný obrys (implicitní hodnota)
  above jen horní strana
  below jen dolní strana
  nsides horní a dolní strana
  lns jen levá strana
  rhs jen pravá strana
  vsides levá a pravá strana
  border/box všechny čtyři strany
  border= určuje tloušťku vnějšího obrysu tabulky (implicitně v pixelech); může být specifikována v jiné jednotce připojením standardizované zkratky jednotky; chybí-li atribut nebo je border=0, pak to implikuje atribut frame=none (bez obrysů a mřížky); je-li uveden atribut border bez hodnoty, pak to implikuje atribut frame=border
  rules= předepisuje vzhled tabulkové mřížky (oddělujících čar uvnitř tabulky):
  none žádné čáry
  basic vodorovné čáry mezi skupinami (THEAD, TFOOT, TBODY)
  rows čáry mezi řádky
  cols čáry mezi sloupci
  all všechny čáry (mezi řádky i sloupci – implicitní hodnota)
  cellspacing= nastavuje velikost mezery mezi jednotlivými buňkami tabulky
  cellpadding= nastavuje velikost mezery mezi okrajem buňky tabulky a jejím obsahem
  clear= způsob obtékání tabulky:
  left vlevo
  right vpravo
  all pokračuje se až za tabulkou
  noflow rozšíření Netscape
  nowrap zákaz zalamování textu uvnitř buněk tabulky
  units= specifikuje další volby pro atribut colspec
  en v počtu písmen “n”
  relative relativní šířka sloupce
  pixels šířka v pixelech (implicitní hodnota)
název tabulky
<CAPTION>
<CAPTION align=[top|bottom|left|right]>
nadpis_tabulky
</CAPTION>
  párová značka, která specifikuje nadpis tabulky nebo obrázku
  align= určuje pozici nadpisu vůči vnějším okrajům tabulky:
  top nahoře uprostřed (implicitní hodnota)
  bottom dole uprostřed
  left vlevo
  right vpravo
specifikace sloupců
<COL>
<COL span=počet with=”šířka” aligh=[left|center|right|justify|char] char=”znak” charoff=”ofset_znaku” valign=[top|middle|bottom|base|baseline]>
  nepárová značka, která specifikuje implicitní atributy tabulkového sloupce; každý prvek COL specifikuje jeden sloupec tabulky
<COLGROUP> <COLGROUP aligh=[left|center|right|justify|char] char=”znak” charoff=”ofset_znaku” valign=[top|middle|bottom|base|baseline]>
…<COL>…
</COLGROUP>
  párová značka, která umožňuje specifikovat společné vlastnosti pro skupinu tabulkových sloupvů; hodnoty atributů uvedených v prvku COLGROUP se přenesou na všechny sloupce uzavřené ve skupině
  span= určuje počet sloupců, pro které budou platit shodné charakteristiky; implicitní hodnota je 1; span=0 implikuje pro všechny sloupce od tohoto do posledního včetně
  width= určuje šířku sloupce v pixelech; může být specifikována v jiné jednotce připojením stadardizované zkratky jednotky; hodnota může být absolutní nebo relativní; relativní šířka se určuje vzhledem k celkové šířce tabulky příponou:
  “%” (pro procentuálně danou šířku) nebo
  “*” (pro šířku danou rozdělením zbývající šířky v poměru čísla stojícího před znakem *)
  align= definuje implicitní způsob horizontálního zarovnání obsahu buněk pro celý sloupec:
  left zarovnání k levému okraji buňky (standardní hodnota)
  right zarovnání k pravému okraji buňky
  center zarovnání doprostřed buňky
  justify zarovnání do bloku (víceřádkových položek)
  char zarovnání na znak (typicky desetinná čárka)
  char= znak, na který se vztahuje zarovnání vyžádané atributem align=char; implicitně se použije znak desetinné čárky podle národního nastavení
  cnaroff= specifikuje v pixelech ofset pro první výskyt znaku CHAR na každém řádku; implicitní hodnota je 50%
  valign= definuje implicitní způsob vertikálního zarovnání obsahu buněk pro celý sloupec:
  top zarovnání k hornímu okraji buňky
  middle zarovnání doprostřed buňky (implicitní hodnota)
  bottom zarovnání k dolnímu okraji buňky
  baseline rozšíření NetScape (totéž jako bottom)
záhlaví tabulky
<THEAD>
<THEAD align=[left|center|right|justify|char] char=”znak” charoff=”ofset_znaku” valign={top|middle|bottom|baseline]>
posloupnost_řádků_záhlaví_tabulky
</THEAD>
pata tabulky
<TFOOT>
<TFOOTalign=[left|center|right|justify|char] char=”znak” charoff=”ofset_znaku” valign={top|middle|bottom|baseline]>
posloupnost_řádků_paty_tabulky
</TFOOT>
tělo tabulky
<TBODY>
<TBODY align=[left|center|right|justify|char] char=”znak” charoff=”ofset_znaku” valign={top|middle|bottom|baseline]>
posloupnost_řádků_těla_tabulky
</TBODY>
  párové značky, které uzavírají skupinu řádků tabulky a specifikují neuvedené atributy pro všechny řádky skupiny; neobsahuje-li tabulka záhlaví a patu (skupiny THEAD a TFOOT), je značka TBODY nepovinná; v závislosti na prohlížecím programu může být toto členění na sekce užito pro opakování řádků záhlaví a paty tabulky při stránkovém zlomu tabulky nebo pro fixované záhlaví (nahoře) v okně rolovacího panelu
  align= definuje implicitní způsob horizontálního zarovnání obsahu buněk pro všechny řádky skupiny:
  left zarovnání k levému okraji buňky (standardní hodnota)
  right zarovnání k pravému okraji buňky
  center zarovnání doprostřed buňky
  justify zarovnání do bloku (víceřádkových položek)
  char zarovnání na znak (typicky desetinná čárka)
  char= znak, na který se vztahuje zarovnání vyžádané atributem align=char; implicitně se použije znak desetinné čárky podle národního nastavení
  charoff= specifikuje v pixelech ofset pro první výskyt znaku CHAR na každém řádku; implicitní hodnota je 50%
  valign= definuje implicitní způsob vertikálního zarovnání obsahu buněk pro všechny řádky skupiny:
  top zarovnání k hornímu okraji buňky
  middle zarovnání doprostřed buňky (implicitní hodnota)
  bottom zarovnání k dolnímu okraji buňky
  baseline rozšíření NetScape (totéž jako bottom)
tabulkový řádek
<TR>
<TR align=[left|center|right|justify|char] char=”znak” charoff=”ofset_znaku” valign={top|middle|bottom|baseline]>
posloupnost_tabulkových_polí
</TR>
  párová značka, která specifikuje tabulkový řádek v jedné ze tří tabulkových sekcí (THEAD, TFOOT a TBODY); koncová značka </TR> je nepovinná; TR musí obsahovat nejméně jeden TH nebo TD prvek
  align= definuje implicitní způsob horizontálního zarovnání obsahu buněk pro tento řádek:
  left zarovnání k levému okraji buňky (standardní hodnota)
  right zarovnání k pravému okraji buňky
  center zarovnání doprostřed buňky
  justify zarovnání do bloku (víceřádkových položek)
  char zarovnání na znak (typicky desetinná čárka)
  char= znak, na který se vztahuje zarovnání vyžádané atributem align=char; implicitně se použije znak desetinné čárky podle národního nastavení
  charoff= specifikuje v pixelech ofset pro první výskyt znaku CHAR na každém řádku; implicitní hodnota je 50%
  valign= definuje implicitní způsob vertikálního zarovnání obsahu buněk pro tento řádek:
  top zarovnání k hornímu okraji buňky
  middle zarovnání doprostřed buňky (implicitní hodnota)
  bottom zarovnání k dolnímu okraji buňky
  baseline rozšíření NetScape (totéž jako bottom)
běžné pole
<TD>
<TD align=[left|center|right|justify|char] char=”znak” charoff=”ofset_znaku” valign={top|middle|bottom|baseline] nowrap dgcolor=”barva” width=”šířka” colspan=počet_sloučených_sloupců rowspan=počet_sloučených_řádků axis=”návěští_buňky” axes=”seznam_návěští_buňky”>
obsah_pole
</TD>
  párová značka, která specifikuje běžnou buňku tabulky; značka </TD> je nepovinná
hlavičkové pole
<TH>
<TH align=[left|center|right|justify|char] char=”znak” charoff=”ofset_znaku” valign={top|middle|bottom|baseline] nowrap dgcolor=”barva” width=”šířka” colspan=počet_sloučených_sloupců rowspan=počet_sloučených_řádků axis=”návěští_buňky” axes=”seznam_návěští_buňky”>
obsah_pole
</TH>
  párová značka, která oznamuje, že tato buňka má být chápána jako hlavička sloupce nebo řádku; prohlížecí program ji zpravidla vzhledově odliší od ostatních buněk; prvek má atributy totožné s prvkem TD značka </TH> je nepovinná
  align= definuje implicitní způsob horizontálního zarovnání obsah buňky:
  left zarovnání k levému okraji buňky (standardní hodnota)
  right zarovnání k pravému okraji buňky
  center zarovnání doprostřed buňky
  justify zarovnání do bloku (víceřádkových položek)
  char zarovnání na znak (typicky desetinná čárka)
  char= znak, na který se vztahuje zarovnání vyžádané atributem align=char; implicitně se použije znak desetinné čárky podle národního nastavení
  charoff= specifikuje v pixelech ofset pro první výskyt znaku CHAR na každém řádku; implicitní hodnota je 50%
  valign= definuje implicitní způsob vertikálního zarovnání obsahu buněk pro tento řádek:
  top zarovnání k hornímu okraji buňky
  middle zarovnání doprostřed buňky (implicitní hodnota)
  bottom zarovnání k dolnímu okraji buňky
  baseline rozšíření NetScape (totéž jako bottom)
  nowrap potlačuje automatické dělení řádků uvnitř buňky
  bgcolor= barva pozadí (viz. “Dodatky”)
  width= Určuje celkovou požadovanou šířku buňky v pixelech; může být specifikována v jiné jednotce připojením standardizované zkratky jednotky
  colspan= počet sloupců (implicitně 1), přes které mají být buňky sloučeny do jediné; atribut colspan vlastně prodlužuje buňku doprava přes n sloupců; v následujících n-1 sloupcích se musí přirozeně vynechat buňky v místě, kam zasahuje buňka zleva
  rowspan= počet řádků (implicitně 1), přes které mají být buňky sloučeny do jediné; atribut rowspan vlastně prodlužuje buňku dolů přes n řádků; v následujících n-1 řádcích se musí přirozeně vynechat buňky v místě, kam zasahuje buňka shora
  axis= umožňuje specifikovat návěští buňky (např. jako název databázového pole); chybí-li, použije se obsah buňky
  axes= seznam axis návěští oddělených čárkou, která dohromady identifikují názvy polí řádku a sloupce obsahujících buňku

Příklad:



<TABLE border=1 width=200>
<TR><TH> pohlaví </TH><TH align=center> váha </TH></TR>
<TR><TH> muži </TH><TD align=center> 77 </TD></TR>
<TR><TH> ženy </TH><TD align=center> 62 </TD></TR>
<CAPTION> Tabulka1. Průměrná váha </CAPTION>
</TABLE>

vytvoří tabulku:

pohlaví váha
muži 77
ženy 62
Tabulka1. Průměrná váha