Websites met stijl
Naslag: tabel-elementen
Op dit naslagblad
Dit naslagblad is verdeeld in een zelfstudiedeel, dat in curusvorm de eigenschapen van tabellen behandelt,
en een naslagdeel.
Deel 1 - zelfstudie
Deel 2 - naslag
Deel 1 - zelfstudie
De basisstruktuur van een tabel
De elementen table, tr, td, th
Een tabel bestaat uit de volgende elementen:
Basisstructuur
De basisstructuur van een tabel ziet er dus uit zoals in figuur 1.
figuur 1: de basisstructuur van een tabel
<table>
<tr>
<th>a</th>
<th>b</th>
<th>c</th>
<th>d</th>
</tr>
<tr>
<td>1a</td>
<td>1b</td>
<td>1c</td>
<td>1d</td>
</tr>
<tr>
<td>2a</td>
<td>2b</td>
<td>2c</td>
<td>2d</td>
</tr>
<tr>
<td>3a</td>
<td>3b</td>
<td>3c</td>
<td>3d</td>
</tr>
</table>
Css: td, th {border: 5px;}
a |
b |
c |
d |
1a |
1b |
1c |
1d |
2a |
2b |
2c |
2d |
3a |
3b |
3c |
3d |
Deze tabel gaan we hieronder van opmaak voorzien.
Opmerkingen
- Je moet er bij het maken van tabellen zelf op letten dat elke rij evenveel cellen heeft. Anders wordt de tabel geen rechthoek, maar steekt een rij soms uit.
- Ik heb al de volgende stijlregel aangebracht: td, th {padding: 5px;}
Door deze padding van 5px staat de inhoud van de cellen niet tegen de rand van de cel.
Als ik dat niet had gedaan zouden alle gegevens tegen elkaar aan gestaan hebben.
Basisopmaak
Zelf de tabellen maken
Als je zelf de tabellen in dit blad wilt maken zou je dat als volgt kunnen doen:
- Maak een nieuw leeg html-document (Gebruik bv. het bestand nieuw.html dat je in hoofdstuk 3 van de cursus hebt gemaakt).
- Zet in het document de html-code van figuur 1 en sla het op onder een andere naam.
- De stijlen (css) zou je als stijlblok in de head kunnen zetten (tussen de tags <style> en </style>),
maar je kan daarvoor natuurlijk ook een apart stijlblad gebruiken; zorg dan wel voor een link naar het stijlblad.
Kaders
Standaard kaders
Met de border-eigenschap kan de tabel van figuur 1 snel op een echte tabel gaan lijken:
figuur 2: met kaders
Figuur 2a: een kader voor alleen td
Css:
td, th {padding: 5px;}
td {border: 1px solid black;}
a |
b |
c |
d |
1a |
1b |
1c |
1d |
2a |
2b |
2c |
2d |
3a |
3b |
3c |
3d |
Figuur 2b: een kader voor td en th
Css:
td, th {padding: 5px;}
td, th {border: 1px solid black;}
a |
b |
c |
d |
1a |
1b |
1c |
1d |
2a |
2b |
2c |
2d |
3a |
3b |
3c |
3d |
Figuur 2c: een kader voor table en td
Css:
td, th {padding: 5px;}
table, td {border: 1px solid black;}
a |
b |
c |
d |
1a |
1b |
1c |
1d |
2a |
2b |
2c |
2d |
3a |
3b |
3c |
3d |
Figuur 2d: een kader voor table, td en th
Css:
td, th {padding: 5px;}
table, td, th {border: 1px solid black;}
a |
b |
c |
d |
1a |
1b |
1c |
1d |
2a |
2b |
2c |
2d |
3a |
3b |
3c |
3d |
Border-spacing
Met de tabel-eigenschap border-spacing kan de afstand tussen de cellen groter of kleiner worden gemaakt.
Als de borderspacing niet wordt opgegeven is de afstand tussen de cellen 2px zoals in de tabellen van figuur 2.
In figuur 3 is de border-spacing 10px: table {border-spacing: 10px;}.
figuur 3: kaders als figuur 2c, met een border-spacing van 10px
Css:
td, th {padding: 5px;}
table, td {border: 1px solid black;}
table {border-spacing: 10px;}
a |
b |
c |
d |
1a |
1b |
1c |
1d |
2a |
2b |
2c |
2d |
3a |
3b |
3c |
3d |
Border-collapse
Als je geen dubbele lijnen om de cellen wilt hebben kan je gebruik maken van de tabel-eigenchap border-collapse.
Collapse betekent zoiets als in elkaar storten, inklappen
Border-collapse kent twee waarden:
- collapse (ingeklapt) en
- seperate (gescheiden)
Gescheiden is de standaard waarde.
In de figuur hieronder zijn de kaders ingeklapt:
figuur 4: kaders als figuur 2c, met border-collapse
Css:
td, th {padding: 5px;}
table, td {border: 1px solid black;}
table {border-collapse: collapse;}
a |
b |
c |
d |
1a |
1b |
1c |
1d |
2a |
2b |
2c |
2d |
3a |
3b |
3c |
3d |
opmerking:
- Border-collapse heeft een iets ander effect dan border-spacing: 0;
Bij border-spacing: 0; komen de cellen wel tegen elkaar te staan, elke cel heeft nog zijn eigen kader.
Daardoor zijn de kaders 2x zo dik als bij border-collapse. Zie figuur 5
figuur 5: kaders als figuur 2c, met border-spacing: 0;
Css:
td, th {padding: 5px;}
table, td {border: 1px solid black;}
table {border-spacing: 0;}
a |
b |
c |
d |
1a |
1b |
1c |
1d |
2a |
2b |
2c |
2d |
3a |
3b |
3c |
3d |
Kleuren
De tabel kan ook opgemaakt worden met kleuren in plaats van kaders.
Kaders én kleuren kan natuurlijk ook.
In figuur 6 hebben de cellen witte letters op een grijze achtergrond, de kopcellen hebben een oker achtergrond.
figuur 6: met achtergrondkleuren;
Css:
td, th {padding: 5px;}
td {
color: white;
background-color: hsl(40,20% , 60%);
}
th {background-color: hsl(30, 100%, 65%);}
a |
b |
c |
d |
1a |
1b |
1c |
1d |
2a |
2b |
2c |
2d |
3a |
3b |
3c |
3d |
In het volgende stukje maken we variaties op de tabel met de opmaak van figuur 6.
De breedte van tabel en kolom
In het voorgaande bepaalde de browser steeds de breedte van de cellen.
In principe probeert de browser de cellen zo smal mogelijk te maken. De inhoud past er nog precies in.
Daarbij wordt er rekening mee gehouden dat alle cellen boven elkaar dezelfde breedte moeten hebben.
Omdat de celbreedte daardoor vastligt, ligt ook de breedte van de tabel vast.
We gaan nu de tabelbreedte en de breedte van een cel instellen
Tabelbreedte
De breedte van de tabel kan worden aangepast met de eigenschap width. Voorbeelden:
In figuur 7 is de tabelbreedte 420px gemaakt, waarmee de kolommen wat meer ruimte bieden.
figuur 7: in het stijlblad: table {width: 420px;}
Css:
td, th {padding: 5px;}
td {
color: white;
background-color: hsl(40,20% , 60%);
}
th {background-color: hsl(30, 100%, 65%);}
table {width: 100%;}
a |
b |
c |
d |
1a |
1b |
1c |
1d |
2a |
2b |
2c |
2d |
3a |
3b |
3c |
3d |
Kolombreedte
figuur 8: als figuur 7, met andere gegevens.
De cellen zijn nu gevuld met andere gegevens.
Ze passen daardoor niet meer op de regel.
Bij de telefoonnummers is dat storend.
naam |
tel |
lid sinds |
opmerkingen |
Linda |
06 123 456 78 |
2014 |
|
Jaqueline |
06 234 567 89 |
2010 |
junior clubkampioen 2016 |
Melinda |
06 456 789 01 |
2016 |
|
De browser heeft de kolombreedten niet optimaal ingedeeld.
De kolom 'telefoon' moet wat breder en de kolom 'lid sinds' kan wel wat smaller;
Dat kunnen we bereiken door de celbreedten aan te passen.
Dat doen we met een inline stijl in de cellen 'tel' en 'lid sinds'.
We zetten de inline stijl in de bovenste cellen van die kolommen.
Dan past de browser de breedte van de cellen eronder automatisch aan. De code ziet er uit als <td style="width: ..px;>"
Met wat experimenteren heb ik uitgezocht dat de kolom 'telefoon' niet kleiner mag worden dan 92px. Anders pasen de telefoonnummers niet meer op de regel.
En de kolom 'lid sinds' kan niet kleiner gemaakt worden dan 41px, want dan past het woord sinds niet meer in de cel.
In figuur 9 staat de gewijzigde code. De veranderingen staan in rood aangegeven. In de tabel ernaast zie je het resultaat.
figuur 9: als figuur 8, met aangepaste tabelbreedten
In de html:
<table>
<tr>
<th>naam</th>
<th style="width: 92px;">tel</th>
<th style="width: 41px;">lid sinds</th>
<th>opmerkingen</th>
</tr>
...
In de css staan de regels van figuur 7.
naam |
tel |
lid sinds |
opmerkingen |
Linda |
06 123 456 78 |
2014 |
|
Jaqueline |
06 234 567 89 |
2010 |
junior clubkampioen 2016 |
Melinda |
06 456 789 01 |
2016 |
|
Opmerking
- Let op dat je bij een tabel met een vaste breedte niet de breedte van alle kolommen vastlegt.
Geef tenminste van één kolom de breedte niet op.
Structuur van een tabel - vervolg
Tabelkop links / boven
Meestal staan de opschriften in de bovenste regel van de tabel.
Soms staan de opschriften in de linker kolom.
Soms ook staan de opschriften links én boven.
figuur 10: koppen in de linker kolom
<table>
<tr>
<th>1</th>
<td>1a</td>
<td>1b</td>
<td>1c</td>
<td>1d</td>
</tr>
<tr>
<th>2</th>
<td>2a</td>
<td>2b</td>
<td>2c</td>
<td>2d</td>
</tr>
<tr>
<th>3</th>
<td>3a</td>
<td>3b</td>
<td>3c</td>
<td>3d</td>
</tr>
</table>
1 |
1a |
1b |
1c |
1d |
2 |
2a |
2b |
2c |
2d |
3 |
3a |
3b |
3c |
3d |
figuur 11: koppen in de linker kolom en op de bovenste rij
<table>
<tr>
<th></th>
<th>a</th>
<th>b</th>
<th>c</th>
<th>d</th>
</tr>
<tr>
<th>1</th>
<td>1a</td>
<td>1b</td>
<td>1c</td>
<td>1d</td>
</tr>
<tr>
<th>2</th>
<td>2a</td>
<td>2b</td>
<td>2c</td>
<td>2d</td>
</tr>
<tr>
<th>3</th>
<td>3a</td>
<td>3b</td>
<td>3c</td>
<td>3d</td>
</tr>
</table>
|
a |
b |
c |
d |
1 |
1a |
1b |
1c |
1d |
2 |
2a |
2b |
2c |
2d |
3 |
3a |
3b |
3c |
3d |
Cellen die zich uitstrekken over meerdere kolommen of rijen
Met het attribuut colspan kan een cel meer dan een kolom breed gemaakt worden.
Met het attribuut rowspan kan een cel meer dan een rij hoog gemaakt worden.
Colspan
Bekijk figuur 12 en de toelichting onder de figuur.
Die tabel gaan we stap voor stap wat verder verfraaien.
figuur 12 (colspan): aantal inwoners in 1500 en 2000 (in miljoenen)
Html
<table>
<tr>
<th></th>
<th colspan="2">Aantal inwoners</th>
</tr>
<tr>
<th>in het jaar:</th>
<th>1500</th>
<th>2000</th>
</tr>
<tr>
<td>Nederland</td>
<td>1</td>
<td>16</td>
</tr>
<tr>
<td>België</td>
<td>1,3</td>
<td>11</td>
</tr>
<tr>
<td>Duitsland</td>
<td>11</td>
<td>80</td>
</tr>
<tr>
<td>Engeland</td>
<td>3,5</td>
<td>64</td>
</tr>
<tr>
<td>Frankrijk</td>
<td>15</td>
<td>67</td>
</tr>
</table>
|
Aantal inwoners |
in het jaar: |
1500 |
2000 |
Nederland |
1 |
16 |
België |
1,3 |
11 |
Duitsland |
11 |
80 |
Engeland |
3,5 |
64 |
Frankrijk |
15 |
67 |
Tabel 12
Css
table {width: 420px;}
td, th {padding: 5px;}
td {
background-color: hsl(40, 20%, 60%);
color: white;
}
th {background-color: hsl(30, 100%, 65%);}
Toelichting
Rowspan
Onvolkomenheden
Tabel 12 heeft 2 onvolkomenheden:
In figuur 13 hebben we die veranderingen aangebracht.
- De toegevoegde codes in de html en in de css zijn rood gemarkeerd.
- In de toelichting onder figuur 13 wordt het attribuut rowspan nader toegelicht.
figuur 13 (rowspan): aantal inwoners in 1500 en 2000 in miljoenen
<table>
<tr>
<th rowspan="2">in het jaar:</th>
<th colspan="2">Aantal inwoners</th>
</tr>
<tr>
<th>1500</th>
<th>2000</th>
</tr>
<tr>
<td>Nederland</td>
<td>1</td>
<td>16</td>
</tr>
<tr>
<td>België</td>
<td>1,3</td>
<td>11</td>
</tr>
<tr>
<td>Duitsland</td>
<td>11</td>
<td>80</td>
</tr>
<tr>
<td>Engeland</td>
<td>3,5</td>
<td>64</td>
</tr>
<tr>
<td>Frankrijk</td>
<td>15</td>
<td>67</td>
</tr>
</table>
in het jaar: |
Aantal inwoners |
1500 |
2000 |
Nederland |
1 |
16 |
België |
1,3 |
11 |
Duitsland |
11 |
80 |
Engeland |
3,5 |
64 |
Frankrijk |
15 |
67 |
Tabel 13
Css
table {width: 420px;}
td, th {padding: 5px;}
td {
background-color: hsl(40, 20%, 60%);
color: white;
text-align: center;
}
th {background-color: hsl(30, 100%, 65%);}
Toelichting:
- Je maakt een cel 2 of meer rijen hoog met het attribuut rowspan De vorm is rowspan="aantal rijen"..
- De code voor de th-cel linksboven wordt dus <th rowspan="2">in het jaar:</th>.
- De vergrootte cel neemt nu ook de plaats in van de linker cel op de tweede rij. Die cel moet dus uit de html-code worden verwijderd:
Daarom zie je in de html op de tweede rij alleen nog de twee cellen staan met 1500 en 2000.
Nieuwe ongerechtigheden:
Deze opmaak heeft een paar nieuwe ongerechtigheden
- Dat de cellen in de kolommen 2 en 3 gecentreerd zijn is goed, maar de namen van de landen in de linker kolom kunnen beter links uitgelijnd worden.
- De opmaak van de nieuwe cel linksboven is helemaal niet goed. De tekst staat (horizontaal en verticaal) gecentreerd; dat is standaard voor cellen in de kop.
Maar de tekst 'in het jaar:' slaat op de jaren 1500 en 2000 op de tweede rij. De tekst zou daarom rechts onderin de cel moeten staan en
niet vet zijn.
Beide punten worden in orde gemaakt in het hoofdstukje 'Opmaak - vervolg' verderop op deze pagina.
Colspan en rowspan gecombineerd
Je kan ook cellen hebben met zowel colspan als rowspan. De tabel van figuur 14 heeft in het midden zo'n cel.
Die tabel is een uitbreiding van de tabel uit figuur 7. Toegevoegd zijn een colspan-cel, een row-span cel en in het midden de gecombineerde colspan/rowspan cel.
Zie de html-code naast de tabel en de toelichting onder de figuur.
figuur 14: colspan-rowspan
<table>
<tr>
<th></th>
<th>a</th>
<th colspan="2">b-c</th>
<th>d</th>
</tr>
<tr>
<th>1</th>
<td>1a</td>
<td>1b</td>
<td>1c</td>
<td>1d</td>
</tr>
<tr>
<th rowspan="2">2-3</th>
<td>2a</td>
<td colspan="2" rowspan="2">midden</td>
<td>2d</td>
</tr>
<tr>
<td>3a</td>
<td>3d</td>
</tr>
<tr>
<th>4</th>
<td>4a</td>
<td>4b</td>
<td>4c</td>
<td>4d</td>
</tr>
</table>
|
a |
b-c |
d |
1 |
1a |
1b |
1c |
1d |
2-3 |
2a |
midden |
2d |
3a |
3d |
4 |
4a |
4b |
4c |
4d |
Toelichting
- Cel b-c
Cel b heeft de eigenschap colspan="2" en vervangt de cellen b en c. Cel c is dus verwijderd.
- Cel 2-3
Cel 2 heeft de eigenschap rowspan="2" en vervangt de cellen 2 en 3. Cel 3 is dus verwijderd.
- Cel midden heeft de eigenschappen colspan="2" en rowspan="2". Hij vervangt de cellen b2, c2, b3 en c3.
De cel 'midden' is geplaatst in cel b2 (de cel in de linker bovenhoek van midden). De andere cellen (c2, b3, c3) zijn verwijderd.
- De tekst in alle cellen is horizontaal en verticaal gecentreerd.
Dat is gedaan met een stijlregel td, th {text-align: center; vertical-align: middle;}
Opmaak - vervolg
Als je enkele cellen een afwijkende opmaak wilt geven, kan dat door die cellen van een class-attribuut te voorzien. De opmaak van die class kun je dan in de css instellen.
Als je bijvoorbeeld een aantal cellen
- het attribuut class="anders" geeft
- en in de css de regel .anders {background-color: green;} opneemt,
dan worden alle cellen van de class 'anders' groen.
Als je op die manier een kolom van een grote tabel, met zeg 100 rijen, een andere opmaak wilt geven dan moet je 100 cellen van het attribuut class="anders" voorzien.
Het zou handig zijn als je dat op een eenvoudiger manier kan doen.
Dat blijkt mogelijk als je slim gebruik maakt van de eigenschap nth-of type.
Nth-of-type
Nth-of-type is een pseudo class, die het ne element van zijn class selecteert
binnen de parent (het 'omhullende' element). In plaats van de n tussen de haakjes kan je naar believen een getal invullen.
Een kolom selecteren
Met td:nth-of-type(4) wordt de vierde kolom geslecteerd.
Immers het vierde td-element binnen de parent tr wordt geslecteerd, dat is het 4e td-element van de regel.
Als alle vierde td-elementen worden geselecteerd - alle vierde cellen -, dan is dus de vierde kolom geselecteerd.
Door de 4 te vervangen door en ander nummer kan je elke willekeurige kolom selecteren.
Let op: het gaat hier alleen om de td-elementen. De th-elementen uit de kop doen niet mee.
Een rij selecteren
Een rij selecteren is wat moeilijker. Dat gaat met de volgende selector:
tr:nth-of-type(4) td
Toelichting:
- tr:nth-of-type(4) selecteert de 4e rij (tr) van de tabel.
- Daarachter staat een spatie en dan td.
Dat betekent dat alle td-elmenten uit de vierde rij worden geseleceerd.
Afwijkende opmaak van een kolom
In figuur 15 hieronder is de opmaak van de eerste (linker) kolom aangepast:
figuur 15: tabel 13 met aangepaste opmaak van de eerste kolom
in het jaar: |
Aantal inwoners |
1500 |
2000 |
Nederland |
1 |
16 |
Duitsland |
11 |
80 |
Engeland |
3,5 |
64 |
België |
1,3 |
11 |
Frankrijk |
15 |
67 |
Tabel 15a
Tabel van figuur 13 met in de css toegevoegd:
td:nth-of-type(1) {background-color: green;}
in het jaar: |
Aantal inwoners |
1500 |
2000 |
Nederland |
1 |
16 |
Duitsland |
11 |
80 |
Engeland |
3,5 |
64 |
België |
1,3 |
11 |
Frankrijk |
15 |
67 |
Tabel 15b
Tabel van figuur 13 met in de css toegevoegd:
td:nth-of-type(1) {text-align: left;}
Opmerkingen:
- Met td:nth-of-type(2) verander je de opmaak van de tweede kolom, met td:nth-of-type(3) die van de derde kolom, enz.
Afwijkende opmaak van een rij
In tabel 15b kunnen we ook een rij van een aangepaste opmaak voorzien.
Bij wijze van voorbeeld geven we de vierde rij van een groene kleur.
Zoals eerder uitgelegd gaat dat met de stijlregel tr:nth-of-type(4) td {background-color: green;}.
Zie figuur 16.
figuur 16: vierde rij krijgt groene achtergrond
in het jaar: |
Aantal inwoners |
1500 |
2000 |
Nederland |
1 |
16 |
Duitsland |
11 |
80 |
Engeland |
3,5 |
64 |
België |
1,3 |
11 |
Frankrijk |
15 |
67 |
Tabel 16
Tabel 15b met in de css toegevoegd:
tr:nth-of-type(4) {background-color: green;}
Opmerking:
- De tabel van figuur 16 is alleen maar bedoeld om het markeren van een rij te demonstreren. We gaan verder met de tabel 15b.
- Daarin gaan we de opmaak van de cel linksboven aanpassen.
Afwijkende opmaak van een cel
Voor het selecteren van een cel moet je de selector van een rij combineren met de selector van een kolom:
Met tr:nth-of-type(4) td:nth-of-type(3) selecteer je van de 4e rij de 3e cel.
Wij willen de eerste cel op de eerste regel selecteren. Dat is een th-cel, die selecteren we met:
tr:nth-of-type(1) th:nth-of-type(1)
- In tabel 17a hieronder is de cel linksboven bij wijze van voorbeeld van een groene achtergrond voorzien.
- In tabel 17b is die cel van de gewenste opmaak voorzien: rechts en onder uitgelijnd, niet vet.
Ik pas deze methode vaak toe. Eerst geef ik de geselecteerde cellen een felle verder niet gebruikte achtergrondkleur,
om te zien of er niet bij vergissing meer (of minder) cellen zijn geselecteerd dan ik bedoelde.
Daarna verander ik de achtergrond-kleur in de gewenste opmaakregels.
Dan controleer ik opnieuw om te zien of alles echt goed is.
figuur 17: aangepaste opmaak voor de cel linksboven
in het jaar: |
Aantal inwoners |
1500 |
2000 |
Nederland |
1 |
16 |
Duitsland |
11 |
80 |
Engeland |
3,5 |
64 |
België |
1,3 |
11 |
Frankrijk |
15 |
67 |
Tabel 17a
tr:nth-of-type(1) th:nth-of-type(1) {
backgound-color: green;
}
in het jaar: |
Aantal inwoners |
1500 |
2000 |
Nederland |
1 |
16 |
Duitsland |
11 |
80 |
Engeland |
3,5 |
64 |
België |
1,3 |
11 |
Frankrijk |
15 |
67 |
Tabel 17b
tr:nth-of-type(1) th:nth-of-type(1) {
vertical-align: bottom;
text-align: right;
font-weight: normal;
}
Tabel 17b heeft de gewenste opmaak. Hieronder vind je nog eens alle stijlregels voor die tabel.
(De html van de tabel staat in figuur 13)
figuur 18 - css tabel 17b
table {width: 420px;}
td, th {padding: 5px;}
td {
background-color: hsl(40, 20%, 60%);
color: white;
text-align: center;
}
th {background-color: hsl(30, 100%, 65%);}
td:nth-of-type(1) {text-align: left;}
tr:nth-of-type(1) th:nth-of-type(1) {
text-align: right;
vertical-align: bottom;
font-weight: normal;
}
Opmaak voor even en oneven rijen
In grote tabelen worden soms de rijen om en om van een iets andere kleur voorzien.
Ook dat is voor elkaar te krijgen met nth-of-type().
Want in plaats van een cijfer mag tussen haakjes ook het woord even of odd (=oneven) staan.
Je krijgt de opmaak van tabel 19a door toevoeging van de stijlregel
table tr:nth-of-type(odd) td {background-color: hsl(40, 20%, 50%);}
De selector zegt eigenlijk: de cellen van de oneven tabel-rijen hebben een achtergrondkleur hsl(40, 20%, 50%) (donkergijs).
(de niet genoemde cellen hebben de standaard kleur, lichter grijs.)
Tabel 19b is gelijk aan tabel 19a, alleen zijn de tabelkaders ingeklapt met table {border-collapse: collapse;}.
Door de afwijkende rijkleuren blijven de rijen goed te zien.
(Ik prefereer de linker tabel)
figuur 19: celrijen afwisselend lichter en donkerder
in het jaar: |
Aantal inwoners |
1500 |
2000 |
Nederland |
1 |
16 |
Duitsland |
11 |
80 |
Engeland |
3,5 |
64 |
België |
1,3 |
11 |
Frankrijk |
15 |
67 |
in het jaar: |
Aantal inwoners |
1500 |
2000 |
Nederland |
1 |
16 |
Duitsland |
11 |
80 |
Engeland |
3,5 |
64 |
België |
1,3 |
11 |
Frankrijk |
15 |
67 |
Tabel 19a
Tabel 19b
Tabel 19a: tabel 17, met toevoevoeging van de stijlregel
table tr:nth-of-type(odd) td {background-color: hsl(40, 20%, 50%);}
Tabel 19b: als tabel 19a, met in de stijlregel: table {colspan-collapse: collapse;}
Schaakbord
Als uitsmijter een schaakbord: Leuk om te zien wat je met tabelen kan doen, meer niet.
De laatste twee regels van de Css zijn het meest van belang. Die zijn te lezen als:
In de html staan codes als ♜. Hiermee beeld je de schaakstukken af. Meer informatie hierover vind je bij 'bijzondere tekens' van de naslag.
figuur 20: schaakbord
Css:
table {border: 10px solid brown; font-size: 30px; color: black;}
table td {
background-color: hsl(40, 100%, 85%));
width: 50px;
height: 50px;
padding: 0;
vertical-align: middle;
text-align: center;
}
tr:nth-of-type(odd) td:nth-of-type(even) {background-color: hsl(20, 60%, 60%);}
tr:nth-of-type(even) td:nth-of-type(odd) {background-color: hsl(20, 60%, 60%);}
Html:
<table>
<tr>
<td>♜</td><td>♞</td>
<td>♝</td><td>♚</td>
<td>♛</td><td>♝</td>
<td>♞</td><td>♜</td>
</tr>
<tr>
<td>♟</td><td>♟</td>
<td>♟</td><td>♟</td>
<td>♟</td><td>♟</td>
<td>♟</td><td>♟</td>
</tr>
<tr>
<td></td><td></td><td></td><td></td>
<td></td><td></td><td></td><td></td>
</tr>
<tr>
<td></td><td></td><td></td><td></td>
<td></td><td></td><td></td><td></td>
</tr>
<tr>
<td></td><td></td><td></td><td></td>
<td></td><td></td><td></td><td></td>
</tr>
<tr>
<td></td><td></td><td></td><td></td>
<td></td><td></td><td></td><td></td>
</tr>
<tr>
<td>♙</td><td>♙</td>
<td>♙</td><td>♙</td>
<td>♙</td><td>♙</td>
<td>♙</td><td>♙</td>
</tr>
<tr>
<td>♖</td><td>♘</td>
<td>♗</td><td>♔</td>
<td>♕</td><td>♗</td>
<td>♘</td><td>♖</td>
</tr>
</table>
♜ | ♞ | ♝ | ♛ |
♚ | ♝ | ♞ | ♜ |
♟ | ♟ | ♟ | ♟ |
♟ | ♟ | ♟ | ♟ |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
♙ | ♙ | ♙ | ♙ |
♙ | ♙ | ♙ | ♙ |
♖ | ♘ | ♗ | ♕ |
♔ | ♗ | ♘ | ♖ |
Naslag
Het element table
Vorm
<table>...</table>
Functie
Het element table definieert een tabel.
- Een tabel bestaat uit een of meer rijen (element tr)
- Het element rij bestaat uit een of meer cellen (element td) en/of kop-cellen (element th)
Display
Table gedraagt zich grotendeels als een block-element.
Attributen
Table ondersteunt alleen de globale attributen.
Het element td
Vorm
<td>...</td>
Functie
Het element td definieert een cel van een tabel.
Display
Td gedraagt zich grotendeels als een inline-block.
Attributen
- colspan
<td colspan="4">...</td> defineert een cel met een breedte van 4 kolommen.
- rowspan
<td rowspan="2">...</td> defineert een cel met een hoogte van 2 rijen.
Standaard opmaak
De meeste browsers beelden een td element af met de volgende opmaak:
- padding: 0;
- text-align: left;
- vertical-align: middle;
- background-color: transparent;
Het td element kent de eigenschap margin niet.
Het element th
Vorm
<th>...</th>
Functie
Het element th definieert een cel in de kop van een tabel,
een cel met opschriften over de informatie in de betreffende kolom of rij.
Display
Th gedraagt zich grotendeels als een inline-block.
Attributen
- colspan
<th colspan="4">...</th> defineert een cel met een breedte van 4 kolommen.
- rowspan
<th rowspan="2">...</th> defineert een cel met een hoogte van 2 rijen.
Standaard opmaak
De meeste browsers beelden een td element af met de volgende opmaak:
- padding: 0;
- font-weight: bold;
- text-align: center;
- vertical-align: middle;
- background-color: transparent;
De font-weight en text-align eigenschappen wijken af van die van het element td.
Het th element kent de eigenschap margin niet.
Het element tr
Vorm
<tr>...</tr>
Functie
Het element tr definieert een rij in een tabel.
Een rij bevat uit een of meer cellen (element td) en/of kop-cellen (element
Display
Table gedraagt zich grotendeels als een block-element.
Attributen
Tr ondersteunt alleen de globale attributen.