Tabulky slouží k zobrazování odpovídajících si hodnot, přesněji k jejich názornějšímu vypsání korespondujících dat, taktéž jich lze využít k zarovnání údajů na stránce a mnoha dalším věcem.
Zásadní informace je, že tabulku vyplňujeme po řádcích shora dolů,
v rámci řádku pak vyplňujeme od nejlevější dosud nevyplněné buňky
(přianektované buňky se přeskakují).
K výrobě tabulek užíváme zejména tagů TABLE, TR, TD
a th (a jejich četných atributů).
TABLE Zahajuje, resp. </table> ukončuje tabulku, oba tagy
jsou povinné (bez </table> tabulku neukončíte)!
Tag TABLE má tyto atributy:
Když otevřeme prostředí pro výrobu tabulky, můžeme nad tabulku chtít
vypsat popisku. Tu získáme pomocí párového tagu
CAPTION, který má atribut align, který určuje,
kam se má nadpis zarovnat.
Tabulka sestává z hlavičky, těla a paty. Hlavičku oznámíme tagem
<THEAD>, tělo <TBODY> a patu
<TFOOT>, všechny tři tagy jsou párové (a pozor,
TFOOD by bylo něco úplně jiného 8-) ).
Tagy TFOOT a THEAD jsou povinné, ostatní
jsou volitelné. Neuvedeme-li nic, má se za to, že se jedná o tělo.
Nyní, když víme, jak definovat hlavičku, tělo a patu, postupme
k definování jednotlivých buněk. Řádky zahajujeme tagem
<TR>, jednotlivé buňky pak buďto <TD>
(datové buňky), nebo <TH> - hlavičkové buňky. Poslední
dva tagy mají syntaxi téměř stejnou, liší se jen tím, že v případě nutnosti
lze říci, které hlavičkové buňky korespondují se kterými datovými, což
ovšem člověk příliš často nepotřebuje, viditelnější rozdíl je třeba
v zarovnávání.
Tagy TD a TH mají zejména
atributy rowspan a colspan. První určuje
přes kolik řádků se má současná buňka natáhnout, druhý přes kolik sloupců.
Vždycky zabereme prostor o velikosti kartézského součinu velikostí těchto
atributů, čili <TD rowspan=2 colspan=2> vyrobí buňku
roztaženou přes dva řádky i sloupce, tedy obsadí dohromady 4 místa (tato
místa se už znovu nevyplňují!). Hodnoty těchto atributů mají být kladná
celá čísla.
Dále mají tagy TD a TH zamítnuté atributy
width a height, kterými jde určit rozměry
buněk, ale tyto atributy jsou zamítnuté proto, že si je má určit
sám prohlížeč tak, aby se mu do buněk vešel předepsaný obsah. Dále
je k dispozici značně účelný atribut align, který
určuje, jak má být (horizontálně) zarovnán obsah buňky. V tomto
případě může nabývat těchto hodnot:
1. Tento zdrojový text
<TABLE border="1"> <CAPTION>Spotřeba kávy vybranými americkými senátory</CAPTION> <TR><TH>Jméno<TH>Hrnků<TH>Druh<TH>Sladí? <TR><TD>T. Sexton<TD>10<TD>Espresso<TD>Ne <TR><TD>J. Dinnen<TD>5<TD>Decaf<TD>Ano <TR><TD>A. Soria<TD colspan="3"><em>Není k dispozici</em> </TABLE>vysází tuto tabulku:
| Jméno | Hrnků | Druh | Sladí? |
|---|---|---|---|
| T. Sexton | 10 | Espresso | Ne |
| J. Dinnen | 5 | Decaf | Ano |
| A. Soria | Není k dispozici | ||
V posledním řádku vidíte, že jsou vyplněny jen dva údaje, protože ten druhý je roztažen přes tři buňky horizontální.
2. Následující příklad demonstruje roztažení vertikální:
<TABLE border="1" align="center"> <TR><TD>1 <TD rowspan="2">2 <TD>3 <TR><TD>4 <TD>6 <TR><TD>7 <TD>8 <TD>9 </TABLE>
vyrobí tuto tabulku:
| 1 | 2 | 3 |
| 4 | 6 | |
| 7 | 8 | 9 |
Všimněte si, že buňka, ve které bychom očekávali číslo 5 se nevyplňuje, jelikož ji přianektovala buňka s číslem dvě.
3. Zkuste pochopit (s pomocí normy nebo jiné vhodné literatury) akrobacii použitou v následující tabulce:
<TABLE border="2" frame="hsides" rules="groups"
summary="Code page support in different versions
of MS Windows.">
<CAPTION>CODE-PAGE SUPPORT IN MICROSOFT WINDOWS</CAPTION>
<COLGROUP align="center">
<COLGROUP align="left">
<COLGROUP align="center" span="2">
<COLGROUP align="center" span="3">
<THEAD valign="top">
<TR>
<TH>Code-Page<BR>ID
<TH>Name
<TH>ACP
<TH>OEMCP
<TH>Windows<BR>NT 3.1
<TH>Windows<BR>NT 3.51
<TH>Windows<BR>95
<TBODY>
<TR><TD>1200<TD>Unicode (BMP of ISO/IEC-10646)<TD><TD><TD>X<TD>X<TD>*
<TR><TD>1250<TD>Windows 3.1 Eastern European<TD>X<TD><TD>X<TD>X<TD>X
<TR><TD>1251<TD>Windows 3.1 Cyrillic<TD>X<TD><TD>X<TD>X<TD>X
<TR><TD>1252<TD>Windows 3.1 US (ANSI)<TD>X<TD><TD>X<TD>X<TD>X
<TR><TD>1253<TD>Windows 3.1 Greek<TD>X<TD><TD>X<TD>X<TD>X
<TR><TD>1254<TD>Windows 3.1 Turkish<TD>X<TD><TD>X<TD>X<TD>X
<TR><TD>1255<TD>Hebrew<TD>X<TD><TD><TD><TD>X
<TR><TD>1256<TD>Arabic<TD>X<TD><TD><TD><TD>X
<TR><TD>1257<TD>Baltic<TD>X<TD><TD><TD><TD>X
<TR><TD>1361<TD>Korean (Johab)<TD>X<TD><TD><TD>**<TD>X
<TBODY>
<TR><TD>437<TD>MS-DOS United States<TD><TD>X<TD>X<TD>X<TD>X
<TR><TD>708<TD>Arabic (ASMO 708)<TD><TD>X<TD><TD><TD>X
<TR><TD>709<TD>Arabic (ASMO 449+, BCON V4)<TD><TD>X<TD><TD><TD>X
<TR><TD>710<TD>Arabic (Transparent Arabic)<TD><TD>X<TD><TD><TD>X
<TR><TD>720<TD>Arabic (Transparent ASMO)<TD><TD>X<TD><TD><TD>X
</TABLE>
která se zobrazí takto:
| Code-Page ID | Name | ACP | OEMCP | Windows NT 3.1 | Windows NT 3.51 | Windows 95 |
|---|---|---|---|---|---|---|
| 1200 | Unicode (BMP of ISO/IEC-10646) | X | X | * | ||
| 1250 | Windows 3.1 Eastern European | X | X | X | X | |
| 1251 | Windows 3.1 Cyrillic | X | X | X | X | |
| 1252 | Windows 3.1 US (ANSI) | X | X | X | X | |
| 1253 | Windows 3.1 Greek | X | X | X | X | |
| 1254 | Windows 3.1 Turkish | X | X | X | X | |
| 1255 | Hebrew | X | X | |||
| 1256 | Arabic | X | X | |||
| 1257 | Baltic | X | X | |||
| 1361 | Korean (Johab) | X | ** | X | ||
| 437 | MS-DOS United States | X | X | X | X | |
| 708 | Arabic (ASMO 708) | X | X | |||
| 709 | Arabic (ASMO 449+, BCON V4) | X | X | |||
| 710 | Arabic (Transparent Arabic) | X | X | |||
| 720 | Arabic (Transparent ASMO) | X | X |
Rámečky alias hezky česky framy jsou jednou z možností (dle mého názoru možností nejméně násilnou), jak zobrazit více stránek najednou. Při použití rámečků postupujeme tak, že na jedné stránce popíšeme, jak se má okno prohlížeče nakrájet a které stránky se mají zobrazit ve kterém rámečku. Jelikož budeme používat rámečky, použijeme Framesetový typ dokumentu!
K výrobě stránek s rámečky používáme zejména tagy FRAMESET,
FRAME a NOFRAMES. Tagem FRAMESET
definujeme, jak se má okno prohlížeče rozdělit na jednotlivé
rámečky, mezi tagy <FRAMESET> a
</FRAMESET> popíšeme pomocí několika použití
tagu FRAME obsah jednotlivých rámečků. Pak uvedeme
sekci <NOFRAMES>, do které umístíme variantu
stránky pro prohlížeče, které nepodporují rámečky. Dnes je v módě
do sekce NOFRAMES dávat akorát poznámku, že váš
prohlížeč nepodporuje rámečky, pořiďte si nový a přijďte jindy.
Tento přístup je projevem jisté arogance autora demonstrujícího
svou neznalost situace. Ony existují i rozumné důvody, proč člověk
nepodporuje rámečky. Kupříkladu na již zmíněném Braillově terminálu,
či při použití zvukového výstupu není vůbec rozumně možné rámečky
implementovat.
Tag FRAMESET má zejména tyto atributy:
Tag FRAME má atributy:
Chceme-li změnit obsah jiného rámečku, použijeme atribut target
tagu a. Tedy chceme-li do rámečku Karel nahrát
soubor nesmysly.html, otevřeme odkaz na něj asi takto:
<a href="nesmysly.html" target="Karel">
Nyní se podívejte na názorný příklad stránky
s rámečky.