9. tabele

Transkrypt

9. tabele
KURS HTML
9. TABELE
Tabele są czymś niezwykle waŜnym dla strony HTML. ChociaŜ początkujący omijają je
szerokim łukiem, lepiej się je nauczyć. Ta lekcja będzie większym połączeniem oby dwóch
języków kursu niŜ jakiekolwiek poprzednie i jakiekolwiek następne lekcje.
Na początku struktura tabeli
Tabele rozpoczyna opcjonalny znacznik <TABLE>. Wewnątrz tego znacznika
umieszczane są wiersze, za pomocą opcjonalnego znacznika <TR>, wewnątrz którego są
komórki, wewnątrz których umieszczamy to, co ma wyświetlić się w tabeli. Komórki mają
dwa rodzaje – nagłówki i zwykłe komórki. Nagłówki tworzy się za pomocą znacznika <TH>,
a zwykłe komórki <TD>. Nagłówek róŜni się tym, Ŝe tekst jest od razu pogrubiony, co moŜna
zrobić ręcznie. Zalecam uŜywać samych komórek. Przykład tabeli:
<TABLE><TR>
<TD>Komórka</TD><TD>Komórka</TD>
</TR><TR>
<TD>Komórka</TD><TD>Komórka</TD>
</TR></TABLE>
Obramowanie tabeli
JeŜeli chcemy zrobić obramowanie za pomocą HTML (w CSSie później) do znacznika
rozpoczynającego tabelę musimy dodać atrybut BORDER. Dziw, nawet obramowanie bez
uŜycia CSS jest ładne. JednakŜe w odróŜnieniu od później poznanego CSS, atrybut ten nadaje
obramowanie do kaŜdej komórki, w CSSie trzeba robić wszystko ręcznie. JeŜeli chcemy
zwiększyć obramowanie do atrybutu BORDER dajmy jakąś wartość liczbową większą od
jedynki. Przykład tabeli z obramowaniem:
<TABLE BORDER><TR>
<TD>Komórka</TD><TD>Komórka</TD>
</TR><TR>
<TD>Komórka</TD><TD>Komórka</TD>
</TR></TABLE>
www.INFORMATYKA.cba.pl
KURS HTML
Wewnętrzne marginesy komórki
JeŜeli chcemy, aby zawartość komórki była bardziej oddalona od samego obramowania
komórki moŜemy zarówno uŜyć atrybutu CELLPADDING, jak i deklaracji padding, co
bardziej polecam np.:
<STYLE TYPE="text/css">
td
{
padding: 10px
}
</STYLE>
<TABLE BORDER><TR>
<TD>Komórka</TD><TD>Komórka</TD>
</TR><TR>
<TD>Komórka</TD><TD>Komórka</TD>
</TR></TABLE>
Odległości między komórkami: CELLSPACING
Podobnie jak w poprzednim przykładzie, nie tylko zawartość komórki moŜemy oddalić od
jej granic, ale i same komórki od granic tabeli. SłuŜy do tego atrybut CELLSPACING np.:
<TABLE BORDER CELLPADDING="10"><TR>
<TD>Komórka</TD><TD>Komórka</TD>
</TR><TR>
<TD>Komórka</TD><TD>Komórka</TD>
</TR></TABLE>
Rozmiary komórki
JeŜeli chcemy zwiększyć wysokość i szerokość komórki musimy uŜyć dwóch deklaracji
CSS: width - szerokość i height - wysokość np.:
www.INFORMATYKA.cba.pl
KURS HTML
<STYLE TYPE="text/css">
td {
width: 200px;
height: 100px
}
</STYLE>
<TABLE BORDER><TR>
<TD>Komórka</TD><TD>Komórka</TD>
</TR><TR>
<TD>Komórka</TD><TD>Komórka</TD>
</TR></TABLE>
UłoŜenie treści w komórkach
Znaną juŜ nam deklaracją text-align (z lekcji o tekście) moŜemy określić poziome
połoŜenie zawartości komórek (domyślnie jest wszystko po lewej, a w pionie w środku). W
celu zmiany połoŜenia pojedynczych komórek moŜemy uŜyć atrybutu ALIGN o znanych
nam wartościach: center - środek i right - prawo (pamiętajmy, Ŝe dobra przeglądarka wyŜej
interpretuje CSS niŜ HTML więc uŜycie wyŜej wymienionej deklaracji CSS do wszystkich
komórek uniemoŜliwi poprawne zinterpretowanie atrybutu HTML). JeŜeli chcemy określić
pionowe połoŜenie musimy uŜyć atrybutu HTML (do określonych komórek) VALIGN o
znanych juŜ nam wartościach: top - góra i bottom - dół (domyślnie jest middle - środek) np.:
<STYLE TYPE="text/css">
td {
width: 200px;
height: 100px;
text-align: center;
}
</STYLE>
www.INFORMATYKA.cba.pl
KURS HTML
<TABLE BORDER><TR>
<TD>Komórka</TD><TD VALIGN="top">Komórka</TD>
</TR><TR>
<TD>Komórka</TD><TD VALIGN="bottom">Komórka</TD>
</TR></TABLE>
Łączenie komórek
Czasami potrzeba zrobić tak, aby w jednym wierszu była jedna komórka o rozmiarze
takim, jak w następnym dwie komórki, ewentualnie w jednej kolumnie jedna komórka o
rozmiarze takim, jak w następnej dwie komórki. Jest to tzw. łączenie komórek. SłuŜą do tego
atrybuty COLSPAN dla łączenia komórek w poziomie (wiersz) i ROWSPAN dla łączenia
komórek w pionie (kolumna). Wartości oby dwóch atrybutów to ilość połączonych komórek
większa niŜ jeden.
Pierwszy przykład prezentuje połączenie komórek za pomocą COLSPAN, drugi za
pomocą ROWSPAN, a trzeci to wielokrotne połączenie obu atrybutów:
<TABLE BORDER><TR>
<TD COLSPAN="2">Połączona komórka</TD>
</TR><TR>
<TD>Komórka</TD><TD>Komórka</TD>
</TR></TABLE>
<TABLE BORDER><TR>
<TD ROWSPAN="2">Połączona komórka</TD><TD>Komórka</TD>
</TR><TR>
<TD>Komórka</TD>
</TR></TABLE>
www.INFORMATYKA.cba.pl
KURS HTML
<TABLE BORDER><TR>
<TD COLSPAN="2">2 komórka</TD><TD ROWSPAN="3">3 komórka
</TR><TR>
<TD ROWSPAN="2">2 komórka</TD><TD>Komórka</TD>
</TR><TR>
<TD>Komórka</TD>
</TR><TR>
<TD COLSPAN="3">3 Komórka</TD>
</TR></TABLE>
RóŜne obramowania tabeli
JeŜeli nie podoba nam się obramowanie tabeli (nie komórek) moŜemy je w prosty sposób
zmienić, uŜywając atrybutu FRAME. Wartości tego atrybutu jest sporo więc nie kaŜdy
będzie miał swój własny przykład. Wartości to:
•
void - usunięcie całego zewnętrznego obramowania
•
above - usunięcie dolnego i bocznego obramowania
•
below - usunięcie górnego i bocznego obramowania
•
lhs - usunięcie górnego, dolnego i prawego obramowania
•
rhs - usunięcie górnego, dolnego i lewego obramowania
•
hsides - usunięcie bocznego obramowania
•
vsides - usunięcie górnego i dolnego obramowania
Rodzaje obramowania tabeli
Za pomocą CSS moŜemy jeszcze zrobić wiele rzeczy z obramowaniem. Ze względu na
ogromną ilość deklaracji uŜyjemy skrótu – po prostu border. JeŜeli komuś zaleŜy na
precyzyjnym określeniu obramowania wystarczy rozszerzyć tą deklarację, dodając po border
myślnik i left, right, top i bottom - powinniśmy wiedzieć, co to wszystko znaczy. Deklaracja
border składa się z trzech określeń – rozmiaru obramowania, typu obramowania i koloru
obramowania. Jedyne co wymaga opisu to typ, którego jeszcze nie było:
www.INFORMATYKA.cba.pl
KURS HTML
•
solid - ciągła pojedyncza linia
•
double - ciągła podwójna linia (minimum trzy piksele)
•
dashed - linia składająca się z kresek
•
dotted - linia składająca się z kropek
•
groove - linia wklęsła z cieniem (minimum trzy piksele)
•
ridge - linia wypukła z cieniem (minimum trzy piksele)
•
inset - wklęsła bez cienia (minimum trzy piksele)
•
outset - wypukła bez cienia (minimum trzy piksele)
Oto przykład prostej tabelki z cienkim solidnym obramowaniem. Jak widać po kodzie w
CSS, aby uzyskać taki efekt, trzeba się trochę podłubać:
<STYLE TYPE="text/css">
table
{
border: 1px solid black
}
td
{
padding: 3px
}
td.lg
{
border-right: 1px solid black;
border-bottom: 1px solid black
}
td.ld
{
border-right: 1px solid black
}
www.INFORMATYKA.cba.pl
KURS HTML
td.pg
{
border-bottom: 1px solid black
}
</STYLE>
<TABLE CELLSPACING="0"><TR>
<TD CLASS="lg">Komórka</TD><TD CLASS="pg">Komórka</TD>
</TR><TR>
<TD CLASS="ld">Komórka</TD><TD>Komórka</TD>
</TR></TABLE>
Uwaga: jeŜeli w komórkach tabel, tekst, lub inne elementy dwoją się (zostają
wyświetlone w kilku wierszach) jest to głównie spowodowane tym, Ŝe jedna komórka ma
wartość deklaracji width liczbową z jednostką, a zaś druga tuŜ obok wartość 100%. ChociaŜ
jest to prawidłowy zapis większość przeglądarek traktuje wyŜej wartości procentowe. W tym
celu dla komórki, której deklaracja width jest liczbowa przypiszmy znacznikowi atrybut
NOWRAP np.:
<STYLE TYPE="text/css">
td.duza
{
width: 100%
}
td.mala
{
width: 50px
}
</STYLE>
www.INFORMATYKA.cba.pl
KURS HTML
<TABLE BORDER><TR>
<TD CLASS="mala" NOWRAP>
Tekst tekst tekst tekst<br />
tekst tekst</TD>
<TD CLASS="duza">
Tekst tekst tekst tekst<br />
tekst tekst tekst tekst<br />
Tekst tekst tekst tekst<br />
tekst tekst</TD></TR>
</TABLE>
W zasadzie to juŜ wszystko o tabelach. JeŜeli chcemy dobrze tworzyć stronę w HTMLu to
musimy tą lekcję poznać perfekcyjnie. Większość stron HTMLowych to tabele w tabelach, w
jeszcze jednych tabelach...
www.INFORMATYKA.cba.pl

Podobne dokumenty