Cellák csoportosítása

A táblázat cellái – az itt ismertetett elemekt ismerő böngészőkben – kétféleképpen csoportosíthatók: soronként és oszloponként.

Sorok csoportosítása

Van két speciális elem, amelyek a táblázat tetején illetve alján megjelenő sorokat adják meg. Ezek az elemek egyszer szerepelhetnek a többi sorcsoport előtt, ami az ezen elemeket nem ismerő böngészőknél problémát okozhatnak (a láblécbe szánt sorok felül jelennek meg). Mindkét csoport lényege, hogy nyomtatásnál minden oldalon felül illetve alul ismétlődnek.

A fejléc csoportja adandó meg először a THEAD elemmel, majd ezután a lábléc csoportja a TFOOT elemmel.

Ezek után jöhetnek a táblázat belsejét tartalmazó sorcsoportok, amelyek mindegyike egy-egy TBODY elembe kerülnek. A későbbi böngészők, amelyek majd ezen elemekről ténylegesen tudomást fognak venni, esetleg képesek lesznek arra, hogy ha a táblázat egésze nem fér el, akkor az egy TBODY belsejébe helyezett sorokhoz egy-egy gördítősávot rendelve lehetővé váljon a sorok gördítése.

Amennyiben a fentiek egyike sem szerepel, akkor úgy kell tekinteni, mintha minden megadott sor egyetlen TBODY elemen belül lenne felsorolva.

Oszlopok csoportosítása

Ahogyan a TBODY használatával a sorokat lehet csoportosítani, úgy lehet csoportosítani az oszlopkat is, aminek segítségével egyes csoportoknak egyedi formázást lehet biztosítani – feltéve, hogy a böngésző alkalmas erre.

Másrészt a csoportosítás struktúrális tagolást is lehetővé tesz, így a logikailag összetartozó oszlopok egy csoportba foglalhatók. A TABLE elem rules paramétere segítségével pedig mind a sorok, mind az oszlopok csoportjai elkülöníthetők a köztük húzandó csoportok segítségével is.

Amennyiben nem alkalmazunk csoportosítást, akkor az egész táblázat egyetlen oszlopcsoportba fog tartozni. Ellenkező esetben a csoportokat definiálni kell a COLGROUP elem segítségével.

A csoportba kétféleképpen lehet az oszlopokat besorolni:

  1. A COLGROUP elem span paraméterével megadjuk, hogy a csoport hány oszlopra vonatkozik.
  2. A COLGROUP elemen belül felsorolunk valahány COL elemet. Az ezek által lefogott oszlopok fognak az adott csoportba tartozni.

Ugyanakkor a COL elem alkalmas arra is, hogy oszlopcsoport létrehozása nélkül valamely elemnek önálló formázási tulajdonságokat állítsunk be. Ilyenkor az elem nem kerül COLGROUP elembe, hanem önállóan szerepel.

Például ha szeretnénk egy csoportot húsz, egyenként 40 pixel széles oszloppal létrehozni, akkor erre a következő két kódrészlet egyaránt alkalmas:

<colgroup span="40" width="20">
</colgroup>
<colgroup>
  <col width="20">
  <col width="20">
  ... összesen negyven COL elem felsorolva
</colgroup>

Ellenben ha egy olyan csoportot szeretnénk létrehozni, amely a fenti feltételeknek is megfelel, de az utolsó oszlopa speciálisan van formázva, akkor ahhoz a következő kódrészletre van szükségünk:

<colgroup width="20">
  <col span="39">
  <col id="spec-format"> <!-- az utolsó oszlop -->
</colgroup>

A COL elem alkalmas arra is, hogy az egyes oszlopok szélességét pontosan meghatározzuk. Az oszlopszélességek a következőképpen adhatók meg:

Fix szélesség:
Fix szélesség megadása pixelekben lehetséges például a COL vagy valamely cellát megadó elem width paraméterében, vagy ezek helyett a stíluslapon a width tulajdonság megadásával (ugyanígy megadható a cella magassága a height tulajdonsággal).
Százalék:
Az előző pontban megadott paraméterrel vagy tulajdonsággal megadható százalékban is a szélesség, amely esetben a táblázat teljes szélessége tekintendő 100%-nak.
Arányosan:
A width paraméterben használható a valahány egység megadása is, amely alatt azt kell érteni, hogy az így megadott szélességű oszlopokra maradó szélességből mindegyik oszlop annyi egységnyit kap, amennyit megadtunk. Például ha megadtunk az egyik oszlopra "3*", egy másikra "1*' értéket, akkor összesen 4 egységet kell elosztani: az első oszlopra a rendelkezésre álló hely 3/4-ét, a másikra 1/4-ét.