R-11-07, Programowanie, ! HTML, HTML 4 - Vademecum


Rozdział 11.
Tabele

We wszystkich przykładach podanych do tej pory poszczególne elementy były rozmieszczane na stronie przy użyciu bardzo prostego kodu HTML. Choć można sobie poradzić, wykorzystując wyłącznie akapity i listy, to jednak istnieje jeszcze inny sposób prezentowania informacji i zawartości stron WWW. Dzięki wykorzystaniu tabel można rozmieścić zawartość strony w wierszach i kolumnach, które mogą, lecz nie muszą, mieć obramowań. Co więcej, zawartość tabel nie musi ograniczać się wyłącznie do tekstu. W tabelach można bowiem umieszczać dowolny kod HTML (na przykład: obrazy, połączenia, formularze, itd.) co sprawia, że zapewniają one możliwość ścisłej kontroli wyglądu strony.

Tabele zostały oficjalnie wprowadzone w HTML-u 3.2. Od tej pory wywarły ogromny wpływ na sposób projektowania i tworzenia stron WWW. W wersji 4.0 HTML-a zostały wprowadzone zmiany ulepszające sposób ładowania i wyświetlania tabel w przeglądarkach. Dzięki nim autorzy stron WWW mogą tworzyć tabele wyświetlane w sposób przyrostowy lub tabele, których zawartość jest bardziej dostępna dla osób korzy­stających z przeglądarek prezentujących strony w sposób inny niż wizualny. Dodatkowe elementy tworzą tabele ze stałymi nagłówkami i stopkami, ułatwiającymi prezentację większych tabel na kilku stronach (na przykład, na wydruku).

Ten rozdział jest poświęcony właśnie tabelom. Oto szczegółowa tematyka:

Definicja tabeli

Wprowadzenie tabel przez firmę Netscape na początku 1995 roku niemal od razu zrewolucjonizowało sposób projektowania stron WWW i to nie tylko dlatego, że tabele pozwalały na prezentację danych w formie tabelarycznej, lecz przede wszystkim ze względu na znacznie większą kontrolę nad układem strony i rozmieszczeniem poszczególnych jej elementów, jaką tabele dają projektantom stron WWW.

Teraz w HTML-u 4.0 specyfikacja tabel zawiera wiele cech, które można określać przy wykorzystaniu arkuszy stylów przedstawionych w rozdziale 10. „XHTML i arkusze stylów”. Choć opracowywanie specyfikacji HTML 4.0 zostało już zakończone, to jednak twórcy przeglądarek, na przykład, firmy Microsoft oraz Netscape, wciąż dodają nowe możliwości, implementując je w swoich produktach.

Projektując własne tabele, miej więc na uwadze, że one ciągle ewoluują. Choć jest mało prawdopodobne, by to, co projektujesz dziś, jutro nie nadawało się do niczego, ale niewątpliwie czekają nas zmiany. Pamiętając o tym drobnym ostrzeżeniu, zabierzmy się do pracy.

Tworzenie tabel

Aby utworzyć tabelę w HTML-u, określasz jej elementy i ich umiejscowienie, a wszystko otaczasz znacznikiem definiującym tabelę. Następnie poprawiasz wygląd całości za pomocą wyrównania, obramowań i kolorowych komórek. W tym podrozdziale nauczysz się tworzyć proste tabele danych, zaopatrzone w nagłówek i podpis.

Jeszcze jedna uwaga. Ręczne tworzenie tabel w HTML-u nie jest zabawne. Kody HTML tworzące tabelę zostały zaprojektowane pod kątem współpracy z programami generującymi tabele, a nie do ręcznego kreowania tabel. Musisz się liczyć z tym, że czeka Cię wiele eksperymentowania, testowania i wędrówek przeglądarka — kod źródłowy, zanim osiągniesz pozytywny rezultat. Niezwykle pomocne mogą być edytory HTML; spełniają one bowiem początkowo rolę tekstowego edytora tabel, a potem arkusza, pozwalającego zorientować się w układzie tabeli. Proponuję jednak, by rozpocząć od ręcznego utworzenia tabeli, abyś zorientował się, jak one działają.

Części tabeli

Zanim zajmiemy się kodem tworzącym tabelę, zapoznam Cię z kilkoma terminami, abyśmy oboje wiedzieli o czym rozmawiamy.

Na rysunku 11.1 pokazana jest typowa tabela i jej elementy.

0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
0x08 graphic
Rysunek 11.1.

Części tabeli

0x01 graphic

Znacznik <TABLE>

Aby za pomocą kodów języka HTML utworzyć tabelę, stosujesz element <TABLE> …</TABLE>, który zawiera kod podpisu tabeli i samą jej definicję:

<table>

… tytuł tabeli (opcjonalny) i jej zawartość …

</table>

Aby pokazać, jak wygląda kod HTML kompletnej tabeli, na poniższym przykładzie przedstawię kod tabeli z rysunku 11.1. Nie martw się, jeśli nie będziesz jeszcze w stanie zrozumieć jego znaczenia. Jak na razie wystarczy, byś zwrócił uwagę na to, iż tabela rozpoczyna się znacznikiem <TABLE> zawierającym dodatkowe atrybuty, a kończy znacznikiem </TABLE>.

<table border="1">

<caption>Podstawowa statystyka</caption>

<tr>

<th>Imię</th>

<th>Wzrost</th>

<th>Waga</th>

<th>Kolor oczu</th>

</tr>

<tr>

<td>Alicja</td>

<td>171</td>

<td>57</td>

<td>niebieski</td>

</tr>

<tr>

<td>Tomek</td>

<td>185</td>

<td>82</td>

<td>chabrowe</td>

</tr>

<tr>

<td>Zuzanna</td>

<td>160</td>

<td>52</td>

<td>brązowe</td>

</tr>

</table>

Wiersze i komórki

Teraz, kiedy poznałeś już element <TABLE> zajmiemy się kolejnym zagadnieniem, którym są wiersze i komórki. Wewnątrz elementu <TABLE>…</TABLE> umieszczana jest zawartość tabeli. W języku HTML tabele definiowane są wiersz po wierszu, a każdy z nich zawiera definicje wszystkich komórek w nim zawartych. Tak więc, aby zdefiniować tabelę, musisz rozpocząć od górnego wiersza i w nim określić wszystkie komórki, następnie drugi wiersz i jego komórki, itd. Kolumny obliczane są automatycznie, w oparciu o liczbę komórek w każdym z wierszy.

Wiersz jest tworzony za pomocą znacznika otwierającego <TR> i znacznika zamykającego </TR>. Z kolei każdy z wierszy ma swoje komórki, które definiowane są za pomocą pary znaczników <TH>…</TH> (w przypadku komórek nagłówka) i pary <TD>…</TD> (dla komórek danych). Liczba wierszy nie jest ograniczona, również nie ma ograniczeń liczby komórek w wierszu, zależy ona jedynie od tego, ile kolumn jest Ci potrzebnych. Musisz zadbać tylko o to, by każdy wiersz miał tę samą liczbę komórek, wynika to z liczby kolumn.

Komórki umieszczone w wierszach tabeli są oznaczane przy użyciu dwóch elementów.