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.