English  
 

htmlcursus

Overzicht

Geschiedenis

HTML

Alinea's

Teksten

(Hyper)Links

Tabellen

Afbeeldingen

Lijsten

Formulieren

Frames

Imagemap

Hexdecimale kleuren

Character-overzicht

Publicatie

Ons adres

Slot Assumburgpad 40
3123 RR Schiedam
Tel: 010 - 7373737
Fax: 010 - 7373733


Klantenlogin

Loginnaam:
Wachtwoord:

htmlcursus

Tabellen

Het klink ingewikkeld en onnodig. Maar geloof me, u zult ze nodig hebben en u zult deze absoluut gebruiken! Ze zijn ideaal bij het opmaken van een pagina. U kunt gegevens op je pagina zodanig kwijt zoals u wilt. U kunt uw pagina gaan verdelen in cellen.
Oorspronkelijk was dit bedoeld voor rijen en kolommen met cijfers, maar het is voor alles bruikbaar. De pagina zoals u deze nu voor u ziet is ook opgemaakt middels tabellen.

Een tabel bestaat, zoals al eerder gezegd uit rijen en kolommen. De rijen zijn horizontaal en de kolommen zijn vertikaal. U kunt het eigenlijk vergelijken met ruitjespapier. Dit bestaat ook uit rijen en kolommen. En 1 zo'n vakje is een cel.

<TABLE> <TD> <TR>

Laten we maar gewoon beginnen, dan wordt het vanzelf wel duidelijk.
U begint met de label <TABLE> en eindigt met de label </TABLE>. Tussen deze twee labels voegt u voor iedere rij de labels <TR> </TR> toe. Voor iedere kolom gebruikt u tussen deze laatste twee labels <TD> en </TD>. Tussen <TD> en </TD> schrijft u de gegevens die u in de betreffende cel wilt plaatsen. Vrijwel alle HTML labels zijn hiervoor bruikbaar. In feite kunt u in een cel dus een complete mini-pagina samenstellen.
Een voorbeeld (zie voorbeeld nr. 1) zal een en ander verduidelijken. De brede kaderrand werd gemaakt door aan de <TABLE>-label de optie BORDER=4 toe te voegen.

Voorbeeld nr. 1
cel 1 cel 2 cel 3
cel 4 cel 5 de zesde cel
cel 7 cel 8 cel 9
<TABLE BORDER=4>
<TR>
<TD>cel 1</TD> <TD>cel 2</TD> <TD>cel 3</TD>
</TR>
<TR>
<TD>cel 4</TD> <TD>cel 5</TD> <TD>de zesde cel</TD>
</TR>
<TR>
<TD>cel 7</TD> <TD>cel 8</TD> <TD>cel 9</TD>
</TR>
</TABLE>

U merkt dat de tekst in de zesde cel langer is dan de rest. Daardoor is deze kolom ook breder geworden en past alles zich netjes aan. Ditzelfde zou ook voor de hoogte gelden. Alle cellen in 1 kolom zijn altijd even breed en alle cellen in 1 rij zijn altijd even hoog.
We gaan nog even verder.

Voorbeeld nr. 2
cel 1
  cel 5 de zesde cel
cel 7
cel 9
<TABLE BORDER=4>
<TR>
<TD>cel 1</TD>
</TR>
<TR>
<TD></TD> <TD>cel 5</TD> <TD>de zesde cel</TD>
</TR>
<TR>
<TD>cel 7</TD> <TD><BR></TD> <TD ALIGN="right">cel 9</TD>
</TR>
</TABLE>

In de eerste rij is maar 1 cel gedefinieerd (zie <TD>cel 1</TD>). De browser maakt uit de andere 2 rijen echter op dat er toch 3 kolommen moeten zijn (zie </TR> <TR>'s). De cellen 2 en 3 worden gewoon niet getoond (ook niet in 3D).
Cel 4 wordt wel gedefineerd, maar wordt ook niet weergegeven omdat deze geen inhoud heeft (er staat niets in). Om een cel zonder inhoud toch te laten zien (3D weergave), moeten we te werk gaan als in cel 8. Hier staat ook geen tekst in, maar is een line-break gedefineerd <BR> (er kan ook een no back space (&nbsp;) wordt opgegeven). Dit is voor onze browser ook inhoud.

<CAPTION> </CAPTION>

U kunt ook titels geven aan TABLE's. U zag dat ik dat al bij de bovenstaande voorbeelden had gedaan (deze zijn namelijk ook uit TABLE's opgebouws (3 st.)). Titels ingeven is te doen door de label <CAPTION> en </CAPTION> toe te voegen in de TABLE. Ik zal u een voorbeeld (zie voorbeeld nr. 3) laten zien:

Voorbeeld nr. 3
Dit is een tabel.
cel 1
cel 5 de zesde cel
cel 7
cel 9
<TABLE BORDER=4>
<CAPTION>Dit is een tabel.</CAPTION>
<TR>
<TD>cel 1</TD>
</TR>
<TR>
<TD></TD> <TD>cel 5</TD> <TD>de zesde cel</TD>
</TR>
<TR>
<TD>cel 7</TD> <TD><BR></TD> <TD ALIGN="right">cel 9</TD>
</TR>
</TABLE>

Als de optie ALIGN=BOTTOM wordt toevoegt aan de label <CAPTION>, dan komt de titel onderaan de TABLE.
U kunt zich voorstellen dat ok de tekst in de cellen verfraait kunnen worden. U bent hier vrij in. De tekst kan bold of italic getoon worden. De font-face kan worden gewijzigd.
Als u <TH> </TH> ingeeft in plaats van <TD> </TD> dan zal de tekst in deze cel direct vetter zijn. Dit doet u overigens alleen bij de eerste rij of kolom (deze worden dan ook automatisch worden gecentreerd.

Ik zal hiervan een voorbeeld geven, zie voorbeeld nr. 4.
Voorbeeld nr. 4
Dit is een tabel
kolom 1 kolom 2 kolom 3
Rij 1 cel 1
Rij 2   cel 5 cel 6
Rij 3 cel 7
cel 9
<TABLE BORDER=4>
<CAPTION><B>Dit is een tabel</B></CAPTION>
<TR>
<TH></TH> <TH>kolom 1</TH> <TH>kolom 2</TH> <TH>kolom 3</TH>
</TR>
<TR>
<TH>Rij 1</TH> <TD>cel 1</TD>
</TR>
<TR>
<TH>Rij 2</TH> <TD></TD> <TD>cel 5</TD> <TD>cel 6</TD>
</TR>
<TR>
<TH>Rij 3</TH> <TD>cel 7</TD> <TD><BR></TD> <TD>cel
9</TD> </TR>
</TABLE>

<BORDER="x">

Borders, hmmm... door de optie BORDER=4 toe te voegen aan de TABLE-label kunt u in pixels de breedte van de borders aanpassen. Als u deze optie niet of BORDER=0 opgeeft zal er GEEN border te zien zijn (zoals deze pagina). Maar de opmaak zoals u die heeft bedoeld zal er nog steeds zijn. De border is alleen van toepassing voor de buitenkant. De lijnen hierbinnen zijn altijd idem. Ik zal hiervan een voorbeeld (zie voorbeeld nr. 5) geven. Maar voordat ik het voorbeeld laat zien wil ik graag vertellen dat het ook mogelijk is om een eigen kleur te geven aan een TABLE(border). Voeg hiervoor de optie BORDERCOLOR="#kleur" toe aan de TABLE-label. (let op: u moet wel een hexadecimale waarde opgeven). Dit is overigens ook mogelijk voor de achtergrond van een cel.

Voorbeeld nr. 5
cel 1
cel 5 de zesde cel
cel 7
cel 9
<TABLE BORDER=0>
<TR>
<TD>cel 1</TD>
</TR>
<TR>
<TD></TD> <TD>cel 5</TD> <TD>de zesde cel</TD>
</TR>
<TR>
<TD>cel 7</TD> <TD><BR></TD> <TD ALIGN="right">cel 9</TD>
</TR>
</TABLE>

Meer mogelijkheden

Er zijn nog meer opties. Het is mogelijk om cellen te 'linken' of bij elkaar te 'trekken' alsof dit 1 cel is. Stelt u zich het volgende voor: U wilt een pagina opmaken met 3 tekstkolommen, met bovenaan een titel, gecentreerd over de gehele breedte en halverwege een afbeelding over 2 kolommen. Dit zou er als volgt uit kunnen gaan zien (zie voorbeeld nr. 6):

Voorbeeld nr. 6
kolom-1 kolom-2 kolom-3
afbeelding
kolom-2 kolom-3
<=========>
cel 1 cel 2 cel 3
cel 4 cel 5 cel 6
cel 7 cel 8 cel 9

Om u de juiste voorstelling te geven heb ik de tabel-opbouw in 9 cellen er nog eens naast gezet.

Maar hoe is dit nu gemaakt ? We beginnen met een <TABLE BORDER=0>. Als u een kaderlijn om het geheel wilt hebben dan gebruikt u de optie BORDER=x. En over de titel hoef ik natuurlijk niets meer te vertellen.
De volgende stap is het definieren van de eerste rij, dus van links naar rechts, de cellen 1, 2 en 3. Daarna wordt het ingewikkelder. De eerste kolom bestaat eigenlijk uit de cellen 1, 4 en 7. Deze willen wij samenvoegen tot 1 grote (vertikale) cel. Ga hiervoor als volgt te werk:
Begin met <TR> om de eerste rij te definieren. Voor de eerste kolom gebruik je <TD> met daaraan toegevoegd de optie ROWSPAN=3, dit is om aan te geven dat deze cel drie rijen hoog moet worden. Dus: <TD ROWSPAN=3>. U vult de inhoud van de eerste kolom in en sluit deze uiteraard weer met </TD> af.
Nu kunnen we cel 2 beginnen met <TD>, gevolgd door de inhoud van deze cel en afsluiten met </TD>. de volgende rij met cellen 4, 5 en 6 is nu aan de beurt. We beginnen weer met <TR> en voor cel 4 hoeven we nu niets te doen. Deze staat 'gelinkd' met de eerste kolom en is dus eigenlijk samengevoegd met cel 1 en is dus al gedefineerd. Maar cellen 5 en 6 moeten nog worden samengevoegd voor de afbeelding. Dit doen we met <TD COLSPAN=2>, dit om aan te geven dat cel 5 2 kolommen breed moet worden. Daarna zet u op de gebruikelijke wijze je afbeelding erin (of tekst als u dat liever wilt). Daarna sluiten wij de hele boel weer af met </TR>.
De laatste rij hoeft nu niet echt moeilijk meer te zijn. U opent de rij met <TR>, cel 7 is al gedefineerd (die hoge kolom, weet u nog), dus gaan we cel 8 en 9 normaal defineren. De rij wordt gesloten met </TR> en de tabel met </TABLE>.

Je source-code van deze tabel ziet er dan uit zoals te zien is in voorbeeld nr. 7:

<TABLE>
<CAPTION>Titel</CAPTION>
<TR>
<TD ROWSPAN=3>inhoud van de eerste kolom</TD>
<TD>inhoud bovenste gedeelte kolom 2</TD>
<TD>inhoud bovenste gedeelte kolom 3</TD>
</TR>
<TR>
<TD COLSPAN=2><IMG SRC="plaatje.gif"></TD>
</TR>
<TR>
<TD>inhoud onderste gedeelte kolom 2</TD>
<TD>inhoud onderste gedeelte kolom 3</TD>
</TR>
</TABLE>

Enkele goedbedoelde adviezen

Als u TABLE's gaat maken voor uw pagina zult u merken dat deze heel erg flexibel zijn. Als het venster van je browser kleiner (of groter) wordt (gemaakt) zult u merken dat de TABLE zich zoveel mogelijk zal aanpassen.
U kunt -als u wilt- ook de breedte en de hoogte aanpassen als dat gewenst is. De optie WIDTH en HEIGHT kan worden opgeven in de <TD>-labels. Dit kan worden gedaan door de absolute breedte en/of hoogte op te geven in pixels, maar het is ook mogelijk in procenten. Dit zelfde is ook mogelijk voor de gehele breedte van de TABLE. Voeg hiervoor de optie WIDTH=x toe aan je <TABLE>-label aan het begin.

Iedere cel is leeg. Dat klinkt logisch, maar hier bedoel ik mee dat de font face opnieuw ingesteld moet worden zoals dit is gewenst. En wel voor iedere cel. Het is niet mogelijk dit in een keer te doen door 1 algemene label.

© Cyberdots 1998 - 2005