Při zobrazování dlouhých tabulek je největším problémem zjištění
počtu sloupců a jejich šířek. Aby prohlížeč nemusel čekat na
přenesení celé tabulky, můžeme mu tyto údaje sdělit pomocí elementů
colgroup
a col
. Musíme je
však použít ještě před první řádkou tabulky.
Element colgroup
definuje skupinu sloupců.
Obvykle pomocí ní označíme sloupce, které mají něco společného. Počet
sloupců ve skupině se určuje pomocí atributu span
. Atributem width
můžeme určit šířku sloupců ve
skupině. Jako šířku je možno kromě počtu pixelů a procenta zadat
speciální šířku `0*
'. Ta prohlížeči říká, že šířka
sloupec má mít minimální šířku, do které se ještě vejde obsah buněk ve
sloupci. Pro skupinu sloupců můžeme určit společný způsob
horizontálního (atribut align
)
i vertikálního zarovnání (atribut valign
).
Následující tabulka obsahuje dvě skupiny sloupců. První skupina má tři sloupce o šířce 100 pixelů. Druhá skupina obsahuje čtyři sloupce, které budou zobrazeny co nejužší a jejich obsah bude vycentrován.
<table> <colgroup span="3" width="100"> <colgroup span="4" width="0*" align="center"> <tbody> .... </tbody> </table>
Pokud chceme mít každý sloupec ve skupině jinak široký nebo
zarovnaný odlišným způsobem, nepoužijeme u tagu
colgroup
atribut span
.
Místo toho počet sloupců ve skupině určíme počtem elementů col
, které budou obsaženy v colgroup
. Následující příklad definuje
v tabulce dvě skupiny sloupců. V první skupině budou dva
sloupce se šířkou 200 pixelů a s minimální šířkou. Druhá
skupina bude obsahovat tři sloupce se shodnou šířkou 50 pixelů:
<colgroup> <col width="200"> <col width="0*"> <colgroup span="3" width="50">
Jako hodnotu atributu width
u elementů col
a colgroup
můžeme použít i výraz ve tvaru `i*
', kde
`i
' je celé číslo. Sloupcům s takto určenou
šířkou se jejich šířka určuje až na konec. Zbylé místo si rozdělí tak,
aby poměry šířek sloupců odpovídaly poměrům čísla
`i
'. Hodnota `*
' odpovídá
hodnotě `1*
'.
Pro sloupec můžeme podobně jako pro skupinu sloupců určit
společný způsob zarovnání pomocí atributů align
a VALIGN
.
Pokud chceme pro více sloupců nastavit šířku a zarovnání
společné, můžeme použít atribut span
i u col
.
V tomto případě však nedefinujeme novou skupinu sloupců jako
u colgroup
, ale pouze říkáme, že několik
sloupců ve skupině bude mít stejné parametry. Rozdělení na skupiny
pomocí colgroup
je důležité pro správné vykreslení
mřížky uvnitř tabulky, jak si za chvíli ukážeme.