Tabele#
Grupy kolumn#
Wydzielenie grupy kolumn:
<table> <colgroup span="ilość">...</colgroup> ... <tr> <th>...</th> <td>...</td> </tr> ... </table>
Wydzielenie poszczególnych kolumn w grupie kolumn:
<table> <colgroup span="ilość"> <col span="ilość"> ... </colgroup> ... <tr> <th>...</th> <td>...</td> </tr> ... </table>
gdzie "ilość" oznacza liczbę kolumn do połączenia w grupę. Jeśli całkowicie pominiemy atrybut span, przyjmie on domyślną wartość "1".
W tabeli (zaraz za poleceniem <table>), przy użyciu elementu colgroup można łączyć kolumny strukturalnie. Takie wydzielenie umożliwia odnoszenie się do utworzonej grupy jako do całości (np. w celu nadania unikalnych stylów lub atrybutów). Jeśli chcemy określić odrębne formatowanie dla pojedynczej kolumny lub kolumn w danej grupie należy zastosować polecenie col. W grupę można połączyć dowolną liczbę kolumn. W jednej tabeli może istnieć kilka grup.
Element col można umieszczać tylko wewnątrz znaczników <colgroup>...</colgropu>.
W każdej grupie kolumn (<colgroup>...</colgropu>) musi być tyle elementów col, ile wskazuje atrybut span="...", nadany całej grupie, chyba że również dla elementu col nadamy ten atrybut. Nawet jeśli kolumna nie wprowadza żadnych atrybutów, musi się znaleźć na liście, w przeciwnym razie tabela zostanie błędnie wyświetlona!
Obsługa poleceń colgroup i col w przeglądarkach jest problematyczna. Starsze browsery nie wspierają opisywanych poleceń. Nowsze programy (np. Firefox 4, Opera 9 i Chrome 5) nie mają problemów z formatowaniem grup za pomocą atrybutów (np. align, valign itd.). Jeśli chodzi o CSS (inline) jest dużo gorzej. U mnie zadziałały tylko polecenie tła: background-color i background-image.
Tabela bez łączenia:
<table border="1" style="width: 500px; height: 150px;">
<tr>
<th></th>
<th>A</th>
<th>B</th>
<th>C</th>
</tr>
<tr>
<th>1</th>
<td>Komórka1</td>
<td>Komórka2</td>
<td>Komórka3</td>
</tr>
<tr>
<th>2</th>
<td>Komórka4</td>
<td>Komórka5</td>
<td>Komórka6</td>
</tr>
</table>Efekt:
| A | B | C | |
|---|---|---|---|
| 1 | Komórka1 | Komórka2 | Komórka3 |
| 2 | Komórka4 | Komórka5 | Komórka6 |
Tabela z wydzielonymi grupami kolumn:
<table border="1" style="width: 500px; height: 150px;">
<colgroup style="background-color: yellow;"></colgroup>
<colgroup span="3" align="right">
<col span="2" style="background-color: lime;" />
<col span="1" style="background-image: url(../../pliki/html/tabele/tloobrazkowe/tlo3.gif);"></col>
</colgroup>
<tr>
<th></th>
<th>A</th>
<th>B</th>
<th>C</th>
</tr>
<tr>
<th>1</th>
<td>Komórka1</td>
<td>Komórka2</td>
<td>Komórka3</td>
</tr>
<tr>
<th>2</th>
<td>Komórka4</td>
<td>Komórka5</td>
<td>Komórka6</td>
</tr>
</table>Efekt:
| A | B | C | |
|---|---|---|---|
| 1 | Komórka1 | Komórka2 | Komórka3 |
| 2 | Komórka4 | Komórka5 | Komórka6 |
W grupy można łączyć również wiersze (tr), służą do tego celu elementy thead, tfoot, tbody opisane przy omawianiu złożonego szkieletu tabeli.