Firefox (1.5) & colspan: bug?

Pagina: 1
Acties:

  • .Johnny
  • Registratie: September 2002
  • Laatst online: 19-03 12:22
deze tabel:
code:
1
2
3
4
5
6
7
8
9
10
<table>
    <tr>
        <td colspan="2">bladiebladiebladiebla</td>
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td>&nbsp;</td>
        <td colspan="2">saldfkjdlsjfladsfglajdfs</td>
    </tr>
</table>

wordt in firefox weergegeven als een tabel met maar 2 kolommen. Is dit een bug? Opera en IE geven wel '3' kolommen

FF doet het wel goed indien dit wordt gedaan:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<table>
    <tr>
        <td colspan="2">bladiebladiebladiebla</td>
        <td>&nbsp;</td>
    </tr>
    <tr>
        <td>&nbsp;</td>
        <td colspan="2">saldfkjdlsjfladsfglajdfs</td>
    </tr>
    <tr>
        <td></td>
        <td></td>
        <td></td>
    </tr>
</table>

  • drienties
  • Registratie: Juni 2003
  • Laatst online: 19-04 22:07
als ik em copy paste in mijn editor en preview(gebruikt IE engine), zie ik maar 2 kolommen.
laatste voorbeeld geeft me 2 rijen met 2 kolommen en 1 rij met 3 kolommen

Verwijderd

Ik vind 'bug' een groot woord. Misschien reageert Firefox hier anders op afhankelijk van het doctype.

Algemeen vind ik het eigenlijk niet zo tegenintuïtief: als er niets is om te 'colspannen' kan dat eigenlijk ook niet?

  • .Johnny
  • Registratie: September 2002
  • Laatst online: 19-03 12:22
@drienties:
het idee is dat je zoiets krijgt (code for alignment):
code:
1
2
3
[-----table-----]
[  cel1   ][cel2]
[cel3][   cel4  ]

@aracon: dat lijkt me dus wel tegenintuitief: er valt wel degelijk wat te spannen, want de colommen bevinden zich niet in dezelfde scope!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
toevoegen haalt niks uit btw.

[ Voor 15% gewijzigd door .Johnny op 07-12-2005 21:41 . Reden: doctype toegevoegd ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:49

crisp

Devver

Pixelated

Niks bug; geef je table eens een border=1 en je zult zien dat de colspan wel degelijk meegenomen wordt. Echter wordt er gewoon geen ruimte voor gereserveerd, en dat hoeft ook niet.
Table-rendering is grotendeels UA-afhankelijk, daar zijn over het algemeen ook geen vaste richtlijnen voor gesteld. Zo zijn afmetingen bijvoorbeeld ook enkel aanwijzingen voor een visual user agent en een UA mag daar van afwijken (daarom zijn tables eigenlijk ook niet geschikt voor pixel-preciese layouts).

Intentionally left blank


  • .Johnny
  • Registratie: September 2002
  • Laatst online: 19-03 12:22
ik zou random behaviour toch best als bug willen bestempelen; het tweede voorbeeld met een 3e rij (dat wel het gewenste effect heeft) voegt eigenlijk geen enkele waarde toe;

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

GIJoke schreef op woensdag 07 december 2005 @ 22:20:
ik zou random behaviour toch best als bug willen bestempelen; het tweede voorbeeld met een 3e rij (dat wel het gewenste effect heeft) voegt eigenlijk geen enkele waarde toe;
Niet dus, omdat FF in het laatste geval tijdens het parsen weet dat er 3 kolommen zullen zijn. Dat jij er een 'vergeet' ;)

[ Voor 4% gewijzigd door BtM909 op 07-12-2005 22:33 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:49

crisp

Devver

Pixelated

UA's hoeven lege cellen ook niet te renderen, eigenlijk is het 'netjes' dat Firefox dat in het 2e voorbeeld wel doet ;)

Dat Opera en IE het anders doen dan Firefox betekent niet meteen dat iets een bug is; feit is gewoon dat de specificaties zich hier niet over uitlaten dus elke interpretatie is gewoon goed :)

[ Voor 46% gewijzigd door crisp op 07-12-2005 22:40 ]

Intentionally left blank


Verwijderd

/me mompelt ook iets over col en colgroup elementen...

en een hoop attributen trouwens als scope enzo...

  • .Johnny
  • Registratie: September 2002
  • Laatst online: 19-03 12:22
@mophor: doe dat eens voor met mijn voorbeeld dan :) volgens mij kan dat namelijk niet, omdat ze een gedeelde scope hebben...

@btm909: colspan=2 + 1 td is ook 3!

@crisp: mijn 2e voorbeeld bevat 3 lege cellen in de laatste rij, waarvan de middelste 'opeens' wel gerenderd wordt. blijft dus wat inconsistent lijkt mij.

ik snap ook wel dat een browser zelf mag interpreteren wat hij doet met kolombreedtes, maar zoals gezegd: mijn 2e voorbeeld is semantisch niet anders dan de 1e, maar wordt wel anders gerenderd. NFI, maar dat is toch inconsistent.

edit: het is trouwens ook contra-intuitief dat normaal gesproken een tabel niet meer ruimte inneemt dan strikt noodzakelijk is, maar in het eerste geval dat principe opeens verdwenen is...

[ Voor 16% gewijzigd door .Johnny op 08-12-2005 00:23 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 15:49

crisp

Devver

Pixelated

inconsistent is in mijn woordenboek toch wat anders hoor; je hebt hier namelijk toch echt 2 verschillende situaties en elke situatie an sich wordt gewoon consistent op dezelfde manier gerendered.
Als je wat wilt met die 'loze' cell luister dan naar mophor en geef de browser een hint door gebruik te maken van col-elementen. In je 1e voorbeeld is de 2e cell niets anders dan hypothetisch, in je 2e voorbeeld maak je 'm concreet - dat is een verschil voor een renderengine...

Dat de tabel meer ruimte inneemt dan noodzakelijk heeft ook puur met optimalisaties in de renderengine te maken; een browser zal niet een 2-pass renderslag gaan doen met nacalculaties als de 1e educated guess niet helemaal blijkt te kloppen - dat komt de snelheid niet ten goede. Een parser zal pas reflow forceren als dat echt noodzakelijk is.

[ Voor 27% gewijzigd door crisp op 08-12-2005 00:31 ]

Intentionally left blank


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

GIJoke schreef op donderdag 08 december 2005 @ 00:18:
@mophor: doe dat eens voor met mijn voorbeeld dan :) volgens mij kan dat namelijk niet, omdat ze een gedeelde scope hebben...
Hoezo zou dat niet kunnen dan? Lijkt me geen enkel probleem eigenlijk?
http://www.w3schools.com/tags/tag_col.asp
http://www.w3schools.com/tags/tag_colgroup.asp
ik snap ook wel dat een browser zelf mag interpreteren wat hij doet met kolombreedtes, maar zoals gezegd: mijn 2e voorbeeld is semantisch niet anders dan de 1e, maar wordt wel anders gerenderd. NFI, maar dat is toch inconsistent.
Wat heeft semantiek (betekenisleer) te maken met hoe een pagina gerenderd wordt? :?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • .Johnny
  • Registratie: September 2002
  • Laatst online: 19-03 12:22
-NMe- schreef op donderdag 08 december 2005 @ 00:32:
[...]
Hoezo zou dat niet kunnen dan? Lijkt me geen enkel probleem eigenlijk?
...
code:
1
2
3
4
5
    <colgroup span="3">
        <col></col>
        <col></col>
        <col></col>
    </colgroup>

aan het begin om de scope van de tabel te expliciteren heeft in elk geval geen nut; alles daarnaast is alleen gedeelde scopes definieren, lijkt me niet erg nuttig?
-NMe- schreef op donderdag 08 december 2005 @ 00:32:
Wat heeft semantiek (betekenisleer) te maken met hoe een pagina gerenderd wordt? :?
Ja gevoelig punt is dat hier volgens mij, dus laat ik dat maar uitleggen op welke dimensie ik doel: ik bedoel dat de code van het 2e voorbeeld niets meer betekent dan de eerste; en ik bedoel niet de term 'semantisch' zoals html coders vaak doelen op het gebruik van <p> tags ipv <div> tags (en de relatie tussen de naam van een tag en de semantiek van de content), ik zou niet durven! O-)

[ Voor 6% gewijzigd door .Johnny op 08-12-2005 11:49 ]

Pagina: 1