M Sokół ABC języka HTML Rozdział VII Tabele HTML


Rozdział 7.
Tabele HTML
Do czego słu\ą tabele?
Tabele HTML pozwalają na sterowanie układem danych, tekstu, obrazów, połączeń, formularzy i
ich pól, a tak\e innych tabel, przy pomocy wierszy i kolumn komórek. Ka\da tabela ma swój
podpis  definiuje go element caption  który pozwala na dołączenie krótkiego opisu zawartości
tabeli. Dłu\sze opisy mo\na dołączać korzystając z atrybutu summary.
Tabele języka HTML umo\liwiają prezentację danych na stronach WWW oraz kontrolowanie
umiejscawiania elementów strony  tekstu, tekstu preformatowanego, obrazów, pól formularzy,
czy te\ innych tabel, poprzez umieszczanie ich w kolumnach lub wierszach tabeli. Unikaj jednak
stosowania tabel jako szablonu układu dokumentu  W3C, konsorcjum opracowujące standardy
języka HTML, zaleca stosowanie arkuszy stylów.
Jakie są elementy strukturalne tabeli?
W tabeli mo\na wyró\nić trzy sekcje: nagłówka, stopki i treści. Umo\liwiają to elementy thead,
tfoot i tbody. Nadają one tabeli strukturę, a w najnowszych typach przeglądarek stwarzają
mo\liwość przewijania zawartości tabeli niezale\nie od sekcji nagłówka i stopki. Opcja ta jest
szczególnie wygodna w przypadku długich tabel, bo opisy kolumn są zawsze wyświetlane na
ekranie.
Na narzucenie tabeli określonej struktury pozwala te\ opcja grupowania kolumn. Dzięki
specjalnym właściwościom elementów colgroup i col, HTML 4 pozwala te\ na stopniowe
wyświetlanie zawartości tabeli, bez konieczności czekania na jej pełne załadowanie.
Tabele mogą zawierać dane nagłówka  słu\y do tego element th  lub zwykłe dane  w tym
przypadku elementem podstawowym jest td. Komórki tabeli mo\na  rozpinać na wielu
wierszach i kolumnach, a ka\dą komórkę mo\na zaopatrzyć w etykietę, co ułatwia przekazywanie
informacji u\ytkownikom z wadami wzroku i pozwala prezentować tabele w przeglądarkach o
ograniczonych mo\liwościach graficznych, na przykład zainstalowanych w telefonach
komórkowych.
Jak się zabrać do konstruowania tabeli?
Zanim napiszesz kod tabeli, pobaw się w konstruktora. Naszkicuj tabelę na papierze, zaznacz
komórki rozpięte na n wierszach i/lub kolumnach. Otwórz szablon strony w oknie edytora. Wpisz
kod tabeli, rozpoczynając od zewnętrznego znacznika i dodając kolejne wiersze 
elementy tr  a w wierszach komórki nagłówka  elementy th  oraz danych  elementy td.. Nie
zapomnij o znacznikach zamykających. Wydruk 7.1 prezentuje prosty schemat kodu tabeli 
skorzystaj z jego pomocy.
Wydruk 7.1. Podstawowy kod tabeli


Tabela

















Tabela przykładowa
NAGAÓWEK, komórka 1 NAGAÓWEK, komórka 2
wiersz 1, komórka 1 wiersz 1, komórka 2
wiersz 2, komórka 1 wiersz 2, komórka 2




Ten kod pomo\e nam rozszyfrować zagadnienia związane z tworzeniem tabel. Zapisz go na dysku
(na przykład pod nazwą tabela.html) i zobacz w przeglądarce jak wygląda przygotowana tabela
(patrz rysunek 7.1).
Rys. 7.1.
Tabela ma podpis 
umieszczony nad nią, oraz
wiersz nagłówka i dwie
komórki danych. Atrybut
border pozwolił na dodanie
obramowania  domyślnie go
nie ma
Jakie są funkcje poszczególnych elementów tabeli?
Element table to zasobnik przechowujący wszystkie elementy składowe tabeli. Atrybut border
definiuje szerokość obramowania tabeli w pikselach. Jego wartość w tym przypadku to 1 
oznacza to, \e chcemy, aby obramowanie było wyświetlane. Wartość równa 0 to brak
obramowania. Jest to wartość domyślna, nie wymaga więc specyfikacji. Element tr tworzy wiersz
 a ka\dy wiersz podzielony jest na komórki. Komórki to elementy th i td  zawierają one dane
nagłówka i dane tabeli.
Czy mo\na zwiększyć nieco wolny obszar w obrębie komórek?
Przykładowa tabela nie wygląda najlepiej, a jednym z powodów tego stanu rzeczy jest zlewanie
się ze sobą zawartości i obramowania. Czy mo\emy temu zaradzić? Tak, bo mamy do dyspozycji
atrybut elementu table o nazwie cellpadding.
Jak kolosalne ma on znaczenie przekonasz się, gdy zastosujesz atrybut w kodzie naszej tabeli, tak
jak tutaj:

Oczywiście wartość atrybutu cellpadding mo\e być dowolna. Na rysunku 7.2 mo\esz
sprawdzić, jak zmienił się wygląd tabeli.
Rys. 7.2.
Do elementu table dodano
atrybut cellpaddig
Czy mo\na zwiększyć wolny obszar rozsuwając komórki?
Jeśli takie rozwiązanie nie wystarczy, masz do dyspozycji inną mo\liwość  rozsunięcie samych
komórek. Umo\liwia to atrybut cellspacing, tak\e dodawany do elementu table. Oto przykład
jego definicji:

Dodaj atrybut cellspacing o wartości 10 do kodu html tabeli i zobacz, co tym razem się stanie.
Komórki rozsuną się i tabela uzyska  lekki wygląd (patrz rysunek 7.3).
Rys. 7.3.
Do elementu table dodano
atrybut cellspacing
Uzyskany efekt wizualny zale\y w du\ym stopniu od tła tabeli, co pokazuje rysunek 7.4.
Dobierając atrybuty bgcolor= kod_koloru  określa kolor tła, i
bordercolor= kod_koloru  określa kolor obramowania, mo\na uzyskać ciekawe efekty. Na
rysunku 7.4 w pierwszym przypadku atrybuty te dodano w elemencie table, w drugim
zdefiniowano tło w elementach tr, ale mo\na te\ zmieniać kolory pojedynczych komórek tabeli.
Rys. 7.4.
Kolor tła i obramowań tak\e
wpływają na wizualny efekt
oddzielenia komórek
Na końcu tego rozdziału znajdziesz tabelę 7.1, w której wymienione zostały podstawowe atrybuty
elementów tabeli. Bardziej rozbudowany wykaz jest dostępny w dodatku A.
Jaka jest właściwie ró\nica między atrybutami cellpadding i cellspacing?
Rysunek 7.5 wizualizuje relacje pomiędzy zawartością komórek, odstępami między zawartością a
krawędziami (cellpadding) i między samymi komórkami (cellspacing).
Rys. 7.5.
Cellspacing, cellpadding a
zawartość komórek
Jak zdefiniować szerokość tabeli?
Szerokość tabeli mo\na zdefiniować korzystając z atrybutu width. Jego wartość mo\na podawać
w dwojaki sposób: w pikselach lub jako wartość procentową odległości między marginesami
lewym i prawym.
Jeśli więc w kodzie html przykładowej tabeli zdefiniujemy element table w taki oto sposób:

to spowoduje to, \e tabela w oknie przeglądarki będzie miała szerokość równą połowie szerokości
jej okna. Sprawdz to na rysunku 7.6. Co więcej, relacja ta zostanie zachowana nawet wówczas,
gdy u\ytkownik zmieni rozmiary okna przeglądarki.
Rys. 7.6.
Szerokość tabeli została
zdefiniowana za pomocą
atrybutu width i stanowi 50%
szerokości okna
Jaki mamy wpływ na sposób wyrównania tekstu w komórkach?
Domyślnie przeglądarki wycentrowują zawartość komórek nagłówka (definiowanego za pomocą
elementu th). Dane komórek  zwykłych (tych definiowanych za pomocą elementu td) są
natomiast wyrównywane względem lewej krawędzi komórki.
Zmianę ustawień domyślnych umo\liwia atrybut align, który mo\na dodawać do elementów td
lub tr. Dostępne wartości to center, right i left.
Na wydruku 7.2 przedstawiony został uaktualniony kod naszej tabeli. Między innymi do wierszy
danych dodano atrybut align= center . W jaki sposób to wpływa na sposób wyrównania
zawartości komórek mo\esz zaobserwować na rysunku 7.7.
Wydruk 7.2. Podstawowy kod tabeli rozbudowany o pewne atrybuty


Tabela

















Tabela przykładowa
NAGAÓWEK, komórka 1 NAGAÓWEK, komórka 2
wiersz 1, komórka 1 wiersz 1, komórka 2
wiersz 2, komórka 1 wiersz 2, komórka 2




Rys. 7.7*.
Zawartość komórek danych
została wycentrowana
Czy mo\na zmienić sposób wyrównania tak\e w pionie?
Sposób wyrównania zawartości komórek mo\na modyfikować tak\e w pionie. Słu\y do tego
atrybut valign. Jest on stosowany z wartościami top, middle lub bottom i mo\na go stosować
w ka\dej komórce lub wierszu.
Jak zdefiniować w tabeli pustą komórkę?
Większość przeglądarek nie wyświetli komórek tabeli, w których nie umieszczono danych.
Jeśli więc dodamy do kodu naszej przykładowej tabeli kolejne komórki danych, lecz będą wśród
nich puste:

wiersz 1, komórka 1
wiersz 1, komórka 2
wiersz 1, komórka 3


wiersz 2, komórka 1
wiersz 2, komórka 2


to przeglądarka wyświetli tabelę w niezbyt eleganckiej postaci (patrz rysunek 7.8). Zwróć uwagę,
\e komórka nie ma obramowań, nie widać jej wcale.
Rys. 7.8.
Jeśli w tabeli jest pusta
komórka, przeglądarka
Aby temu zaradzić, nale\y umieszczać w  pustych komórkach twarde spacje,   o tak:

wiersz 1, komórka 1
wiersz 1, komórka 2
wiersz 1, komórka 3


wiersz 2, komórka 1
wiersz 2, komórka 2
 

Teraz przeglądarka nie ma wyjścia i musi wyświetlić pustą komórek danych wraz z
obramowaniem (patrz rysunek 7.9).
Rys. 7.9.
Twarde spacje zmuszają
przeglądarkę do wyświetlenia
pustych komórek
Jak rozpiąć komórkę na kilku kolumnach?
Komórki rozpięte na kilku wierszach lub kolumnach mo\na zaobserwować najczęściej w
nagłówkach. I tam są najbardziej przydatne.
Aby zdefiniować taką komórkę, nale\y do znacznika lub dodać atrybuty rowspan
i/lub colspan, i przypisać im jako wartości liczby całkowite określające na ilu wierszach i/lub
kolumnach komórka jest rozpięta.
Komórki są rozpinane w dół i na prawo, a więc aby utworzyć komórkę rozpiętą na kilku
kolumnach, nale\y dodać atrybut colspan do komórki wysuniętej najbardziej w lewo, a w
przypadku rozpinania komórki na wierszach, atrybut rowspan powinien być dodany do komórki
pierwszej od góry.
Rozbudujmy więc nagłówek naszej przykładowej tabeli wykorzystując mo\liwość rozpinania
komórek, tak by uzyskać coś takiego, jak na rysunku 7.10.
Rys. 7.10.
Plan tabeli  nowa postać
nagłówka z komórką rozpiętą
na trzech kolumnach
Dodamy w nagłówku jeszcze jeden wiersz i w elemencie tr umieścimy atrybut colspan.
Poniewa\ chcemy rozpiąć komórkę na trzech kolumnach, atrybut ten musi mieć wartość 3.
Kod nagłówka tabeli jest teraz taki, jak na rysunku 7.11:
Rys. 7.11.
Nowa postać kodu html
nagłówka z komórką rozpiętą
na trzech kolumnach
W naszej tabeli mo\na jeszcze dodać parę atrybutów zmieniających kolor tła wierszy. Finalny kod
html tabeli przedstawiony jest na wydruku 7.3.
Wydruk 7.3. Tabela, w której wiersz nagłówka rozpięty jest na trzech kolumnach


Tabela























Tabela przykładowa
Bardzo wa\ny nagłówek!!!
NAGAÓWEK, komórka 1 NAGAÓWEK, komórka 2 NAGAÓWEK, komórka 3
wiersz 1, komórka 1 wiersz 1, komórka 2 wiersz 1, komórka 3
wiersz 2, komórka 1 wiersz 2, komórka 2  




Tabela, którą tworzy kod z wydruku 7.3 (patrz rysunek 7.12) odpowiada projektowi z rysunku
7.10  porównaj sam.
Rys. 7.12.
Tabela, w której wiersz
nagłówka został rozpięty na
trzech kolumnach
Jak rozpiąć komórkę na kilku wierszach?
Przeanalizujmy jeszcze jeden przykład. Uwzględnia on większość z tego, czego nauczyłeś się ju\
o tabelach: są tu komórki nagłówka, zwykłe komórki danych, do których zastosowane zostanie
wyrównanie oraz są oczywiście komórki rozpięte na wierszach i kolumnach.
Przeanalizuj kod zródłowy tabeli z wydruku 7.4  bez trudu zorientujesz się, które fragmenty
definiują komórki rozpięte i skąd to wynika. Zapisz kod i wyświetl tabelę w przeglądarce (patrz
rysunek 7.13).
Wydruk 7.4. Rozbudowana tabela


Tabela rozbudowana











































Tabela opisująca schemat wydatków
Wydatki Liczba stałych
pracowników
Liczba
zleceń
Planowane Rzeczywiste
Styczeń 5700 3800 88 59
Luty 10800 9600 45 67
Marzec 14900 23000 36 24
Kwiecień 22700 15000 34 45



Rys. 7.13.
Nieco bardziej
skomplikowana tabela 
przyda Ci się do
najró\niejszych prezentacji
Jak do tabeli zastosować style CSS?
Z pewną nieśmiałością opisywałam mo\liwość zmiany tła tabeli, wiersza czy komórki przy u\yciu
atrybutu bgcolor. Przede wszystkim dlatego, \e standard HTML 4.01 kładzie bardzo mocny
nacisk na stosowania formatowania za pośrednictwem stylów CSS. Có\ nam zostaje? Spróbować
zdefiniować arkusz stylów, który zajmie się wyglądem naszej tabeli.
Na pocieszenie powiem, \e niemal wszystkie przeglądarki obsługują poprawnie atrybut bgcolor,
nie musisz więc z nim się całkowicie rozstawać
Zdefiniujmy style, które zostaną zastosowane w tabeli. Wydruk 7.5 prezentuje pełny kod tabeli
formatowanej przy pomocy kaskadowego arkusza stylówi. Arkusz CSS został zaznaczony
czcionką pogrubioną.
Wydruk 7.5. Kaskadowy arkusz stylów formatujący tabelę


Tabela formatowana stylami CSS












































Tabela opisująca schemat wydatków
Wydatki Liczba stałych
pracowników
Liczba
zleceń
Planowane Rzeczywiste
Styczeń 5700 3800 88 59
Luty 10800 9600 45 67
Marzec 14900 23000 36 24
Kwiecień 22700 15000 34 45



Efekt graficzny formatowania tabeli przy u\yciu arkusza CSS prezentuje rysunek 7.14.
Rys. 7.14.
Tabela sformatowana przy
u\yciu arkusza stylów CSS
A mo\e jednak tabela bez obramowań?
Jak wspomniałam, o tym, czy obramowania będą wyświetlane, czy nie, decyduje atrybut border.
Jeśli więc nie chcesz widzieć obramowań, wystarczy, \e w znaczniku zdefiniujesz
border= 0 i cellspacing= 0 , o tak:

Przypisanie wartości 0 atrybutowi cellspacing jest konieczne, aby zlikwidować odstępy między
komórkami, które choć niewielkie, są jednak widoczne.
W jakich przypadkach przydają się tabele bez obramowań?
Do czego mo\e być przydatna tabela bez obramowań? A choćby do definiowania układu strony.
Lecz nie tylko. Czasami po prostu tak jest lepiej. Na rysunku 7.15 mo\esz popodziwiać naszą
tabelę właśnie bez obramowań  wcale nie wygląda gorzej.
Rys. 7.15.
Tabela bez obramowań
Czy w tabeli mo\na umieścić inne elementy HTML?
Ju\ wspominałam, \e komórka mo\e zawierać dowolne dane  tekstowe, liczbowe, łącza,
zagnie\d\oną inną tabelą, a tak\e obraz. Wydruk 7.6 prezentuje kod tabeli, w której komórkach
zastały ulokowane inne elementy html:

,

, i










Tutaj pojawia się tekst.


I jeszcze jeden akapit tekstu...


W tej komórce zagnie\d\ono inną tabelę!









AAAAAA BBBBBB
CCCCCC DDDDDD

Ta komórka zawiera listę.

  • Pozycja pierwsza

  • Pozycja druga

  • Pozycja trzecia





Rys. 7.16.
Ta tabela zawiera tekst, listę,
inną tabelę oraz obraz
O czym trzeba pamiętać wstawiając w komórce tabeli obraz?
Jeśli decydujesz się umieścić w komórce obraz, u\yj takiej postaci kodu:

Jest to wa\ne  umieszczenie znaczników i w osobnych wierszach mo\e zaburzyć
umiejscowienie obrazu.
Jak zapobiec problemom z wyświetlaniem tabel w przeglądarkach?
Tabele nie są równie dobrze obsługiwane we wszystkich typach przeglądarek. Mo\e się więc
zdarzyć, \e zamiast wypieszczonej tabeli, na ekranie pojawi się kaszka. Mo\na tego uniknąć,
aczkolwiek wymaga to bardzo pieczołowitego dopracowania układu tabeli. Jeśli umieścisz w
komórkach tabeli nagłówki i cytaty blokowe, w środowisku, w którym tabela nie jest obsługiwana,
tekst pojawi się w sposób uporządkowany i czytelny. Mo\na te\ skorzystać ze znaczników


lub
umieszczanych na końcu wybranych komórek, np.:
Dane

Tam, gdzie tabele są obsługiwane, te dodatkowe znaczniki będą ignorowane, natomiast tam, gdzie
są kłopoty z obsługą tabel, zadziałają złamania wiersza.
Pamiętaj o znacznikach zamykających , i . Pomimo, \e są one opcjonalne, ich
brak mo\e być przyczyną nieoprawnego wyświetlania tabeli w pewnych przeglądarkach.
Elementy konstrukcyjne tabeli
Tabela 5.1 prezentuje podstawowe znaczniki definiujące tabelę, ich funkcje oraz niektóre atrybuty,
które mogą Ci się najbardziej przydać. Szerszy wybór znajdziesz w dodatku A.
Tabela 5.1. Znaczniki tabeli i podstawowe atrybuty
Znaczniki Funkcja znacznika i jego atrybuty

Tworzy tabelę  jest  opakowaniem pozostałych elementów.
Domyślnie tabele nie mają obramowań.
Niektóre atrybuty:
cellspacing= piksele
wolny obszar między komórkami
align= left|right
sposób wyrównania tabeli
cellpadding= piksele
wolny obszar między krawędziami komórki a zawartością
bgcolor= kod_koloru
zmienia tło tabeli; wartością jest nazwa koloru lub liczba
szesnastkowa
background= url
width= wartość%|piksele
szerokość tabeli w procentach względem szerokości strony lub w
pikselach
height= wartość%|piksele
wysokość tabeli w procentach względem wysokości strony lub w
pikselach
Wiersz tabeli.
Niektóre atrybuty:
align="left|center|right|justyfy|char
wyrównanie tekstu
bgcolor="rrggbb" (lub nazwa koloru)
kolor tła
bordercolor=="rrggbb" (lub nazwa koloru)
kolor obramowania
Komórka tabeli. Komórki umieszcza się między znacznikami
wiersza tabeli.
Niektóre atrybuty:
rowspan="n_wierszy"
rozpięcie komórki na n wierszach
colspan="n_kolumn"
rozpięcie komórki na n kolumnach
width= wartość%|piksele
szerokość komórki w procentach względem szerokości tabeli lub w
pikselach
Komórka nagłówka. Od komórki danych ró\ni się tym, \e
zastosowano w niej czcionkę pogrubioną i wycentrowanie.
Niektóre atrybuty:
rowspan="n_wierszy"
rozpięcie komórki na n wierszach
colspan="n_kolumn"
rozpięcie komórki na n kolumnach
width= wartość%| piksele
szerokość komórki w procentach względem szerokości tabeli lub w
pikselach
Podpis  informuje o zawartości tabeli. Podpis jest opcjonalny i
umieszcza się go w obrębie elementu , przed definicjami
wierszy.
Atrybut:
align="top|bottom|left|right"
Stopka  utworzona podobnie jak nagłówek ze zgrupowanych
wierszy.
Nagłówek  tworzą go zgrupowane wiersze.
. Obszar treści tabeli.
Najwa\niejsze informacje
Tabele HTML pozwalają na sterowanie układem danych, tekstu, obrazów, połączeń,
formularzy i ich pól, a tak\e innych tabel, przy pomocy wierszy i kolumn komórek.
Tabele umo\liwiają prezentację danych na stronach WWW oraz kontrolowanie
umiejscawiania elementów strony  tekstu, tekstu preformatowanego, obrazów, pól
formularzy, czy te\ innych tabel, poprzez umieszczanie ich w kolumnach lub wierszach
tabeli.
Element table to zasobnik przechowujący wszystkie elementy składowe tabeli: tr, th i
td. Element tr tworzy wiersz  a ka\dy wiersz podzielony jest na komórki. Komórki to
elementy th i td  zawierają one dane nagłówka i dane tabeli.
Atrybut border definiuje szerokość obramowania tabeli w pikselach. Jego wartość
równa 1 oznacza to, \e chcemy, aby obramowanie było wyświetlane. Wartość równa 0 to
brak obramowania. Jest to wartość domyślna, nie wymaga więc specyfikacji.
Atrybut cellpadding elementu table pozwala zwiększyć wolny obszar w obrębie
komórek. Oto przykładowa definicja:

Zwiększenie odstępu między komórkami umo\liwia atrybut cellspacing, tak\e
dodawany do elementu table. Oto przykład jego definicji:

Za pomocą atrybutów bgcolor= kod_koloru i bordercolor= kod_koloru
mo\na zdefiniować kolor tła i kolor obramowania. Atrybuty te mo\na ~wstawiać w
elemencie table oraz innych w elementach tr i td.
Szerokość tabeli mo\na zdefiniować korzystając z atrybutu width. Jego wartość mo\na
podawać w pikselach lub w procentach szerokości okna przeglądarki. Oto przykład:

Zmianę sposobu wyrównania zawartości komórek umo\liwia atrybut align, który
mo\na dodawać do elementów td lub tr. Dostępne wartości to center, right i left.
Sposób wyrównania zawartości komórek mo\na modyfikować tak\e w pionie. Słu\y do
tego atrybut valign. Jest on stosowany z wartościami top, middle lub bottom i
mo\na go stosować w ka\dej komórce lub wierszu.
Aby puste komórki tabeli zostały poprawnie wyświetlone, nale\y umieszczać w nich
twarde spacje,   o tak:
Aby zdefiniować komórkę rozpiętą na kilku wierszach lub kolumnach, nale\y do
znacznika
  lub dodać atrybuty rowspan i/lub colspan, i przypisać im jako
wartości liczby całkowite określające na ilu wierszach i/lub kolumnach komórka jest
rozpięta.
Aby wyłączyć wyświetlanie obramowań, nale\y w znaczniku zdefiniować
border= 0 i cellspacing= 0 , o tak:

W przypadku umieszczania w komórce tabeli obrazu, nale\y zastosować taką oto
składnię:

Jest to wa\ne  umieszczenie znaczników
i w osobnych wierszach mo\e
zaburzyć umiejscowienie obrazu.


Wyszukiwarka

Podobne podstrony:
M Sokół ABC języka HTML Wstęp
M Sokół ABC języka HTML Rozdział III Znaczniki HTML formatujące tekst
ABC jezyka HTML
ABC jezyka html i xhtml
html
Abc All Of My Heart
ABC?ar Of The World
Podstawy mówionego języka tybetańskiego

więcej podobnych podstron