[XHTML] Colspan op elke row

Pagina: 1
Acties:

  • licensed
  • Registratie: Augustus 2002
  • Laatst online: 24-01 20:57
Ik maak een tabel waarin je van een leerling kunt zien welk vak hij/zij in welke week heeft gevolgd. Dit werkt als een soort rooster waarbij een balkje de kolommen (weeknummers) overlapt. De rijen zijn de lesuren en in de cel staat welk vak er is gevolgd.
Mijn probleem is het volgende: zodra elke rij een colspan bevat klopt de tabel niet meer, maar als er op z'n minst één rij is die voor elke week één cel heeft is er niks aan de hand.
Dus:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
            <table cellspacing="1">
                <thead><div class="blockheading">Geschiedenis</div></thead>
                <thead class="rooms">
                    <tr>
                        <th scope="col"/>
                        <th scope="col">36</th>
                        <th scope="col">37</th>
                        <th scope="col">38</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <th scope="row">MA4</th>
                        <td colspan="2" style="width:131px;"><div class="course">NASK</div></td>
                        <td><div class="course">NL</div></td>
                    </tr>
                    <tr>
                        <th scope="row">DI6</th>
                        <td><div class="course">BIO</div></td>
                        <td colspan="2" style="width:131px;"><div class="course">NASK</div></td>
                    </tr>
                    <tr>
                        <th scope="row">WO5</th>
                        <td colspan="3" style="width:197px;"><div class="course">BIO</div></td>
                    </tr>
                    <!-- als ik onderstaande rij verwijder klopt de tabel niet meer -->
                    <tr>
                        <th scope="row">VR7</th>
                        <td><div class="course">WISK</div></td>
                        <td><div class="course">BIO</div></td>
                        <td><div class="course">NL</div></td>
                    </tr>
                </tbody>
            </table>


Zo moet het ongeveer worden: Afbeeldingslocatie: http://www.webchoice.nl/history.gif
Waar wordt dit door veroorzaakt? Hoe kan ik het oplossen?

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Bij mij klopt het wel gewoon?

Ik zou hier:
HTML:
1
<thead><div class="blockheading">Geschiedenis</div></thead>

dit van maken:
HTML:
1
<caption>Geschiedenis</caption>

Noushka's Magnificent Dream | Unity


  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Dit is volgens mij gewoon standaard HTML behaviour..
Daarvoor moet je eerst even in de huid van de programmeur kruipen.

Bij een colspan wordt de hele tabel matrix afgelopen, en worden de cellen die een colspan hebben gemarkeerd, en wordt er een referentie opgeslagen naar de TR die de complete kolommenlijst bevat.
Als een tabel op _elke_ rij een colspan heeft, moet de software gaan gokken wat nou de juiste rij met de complete lijst kolommen is, en aangezien een <thead> een apart onderdeel is van de tabel, zal deze waarschijnlijk niet meegenomen worden in dit loopje, dus kan hij hier ook geen referentie aan oppikken.

Probeer dus eens de thead eruit te slopen, en je header cellen gewoon een classname mee te geven.
dikke kans dat het dan wel werkt :)

Stop uploading passwords to Github!


  • licensed
  • Registratie: Augustus 2002
  • Laatst online: 24-01 20:57
SchizoDuckie schreef op maandag 08 augustus 2005 @ 11:56:
Dit is volgens mij gewoon standaard HTML behaviour..
Daarvoor moet je eerst even in de huid van de programmeur kruipen.

Bij een colspan wordt de hele tabel matrix afgelopen, en worden de cellen die een colspan hebben gemarkeerd, en wordt er een referentie opgeslagen naar de TR die de complete kolommenlijst bevat.
Als een tabel op _elke_ rij een colspan heeft, moet de software gaan gokken wat nou de juiste rij met de complete lijst kolommen is, en aangezien een <thead> een apart onderdeel is van de tabel, zal deze waarschijnlijk niet meegenomen worden in dit loopje, dus kan hij hier ook geen referentie aan oppikken.

Probeer dus eens de thead eruit te slopen, en je header cellen gewoon een classname mee te geven.
dikke kans dat het dan wel werkt :)
Dat zal ik eens even gaan proberen. Bedankt alvast!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Kleine kans ook dat je met een browser werkt die met <th scope="col"/> verkeerd om gaat. Iets oudere browsers pakken dat niet goed op denk ik.

Noushka's Magnificent Dream | Unity


  • licensed
  • Registratie: Augustus 2002
  • Laatst online: 24-01 20:57
SchizoDuckie bedankt! Dit werkt inderdaad en de oplossing is niet eens zo ranzig :P

XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
            <table cellspacing="1">
                <thead><div class="blockheading">Geschiedenis</div></thead>
                <tbody>
                    <tr>
                        <th scope="row" class="top"/>
                        <th scope="row" class="top">36</th>
                        <th scope="row" class="top">37</th>
                        <th scope="row" class="top">38</th>
                    </tr>
                    <tr>
                        <th scope="row">MA4</th>
                        <td colspan="2" style="width:131px;"><div class="course">NASK</div></td>
                        <td><div class="course">NL</div></td>
                    </tr>
                    <tr>
                        <th scope="row">DI6</th>
                        <td><div class="course">BIO</div></td>
                        <td colspan="2" style="width:131px;"><div class="course">NASK</div></td>
                    </tr>
                    <tr>
                        <th scope="row">WO5</th>
                        <td colspan="3" style="width:197px;"><div class="course">BIO</div></td>
                    </tr>
                </tbody>
            </table>

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
Je mag geen div element in je thead zetten. Je kunt een titel aan je tabel geven mbv. van een caption element.

Noushka's Magnificent Dream | Unity


  • licensed
  • Registratie: Augustus 2002
  • Laatst online: 24-01 20:57
Michali schreef op maandag 08 augustus 2005 @ 12:23:
Je mag geen div element in je thead zetten. Je kunt een titel aan je tabel geven mbv. van een caption element.
Ok, doe ik. Bedankt!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 22-03 18:12
En moet die scope niet col zijn zoals je in het begin ook had? Nu is de scope van al die th's namelijk alleen die eigen rij, en niet de kolommen die er onder hangen.

Noushka's Magnificent Dream | Unity

Pagina: 1