Toon posts:

[HTML] Meerdere tabellen netjes onder elkaar*

Pagina: 1
Acties:
  • 555 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hallo,

Ik ben bezig met het ontwerpen van een forum. Nu had ik het eerst zo gedaan dat ik 1 tabel maakte en dan een rij voor iedere post. Het probleem is echter (heb ik hier gelezen) dat IE pas de tabel weergeeft als de </table> is uitgevoerd. Het resultaat is dus dat je soms erg lang moet wachten. Nu probeer ik om voor iedere post een nieuwe tabel aan te maken zodat je dus eigenlijk meteen te zien krijgt wat al uitgevoerd is door PHP.

Het probleem is nu dat de tabellen niet mooi aansluiten. Bij sommige zijn de kolommen net iets te breed of te smal vergeleken met de anderen. Ik heb de volgende twee stukken coden geprobeerd maar dat lost het probleem niet op :

HTML:
1
2
3
4
5
6
7
<table width=80%>
<tr>
<td width=20%>tekst</td>
<td width=50%>tekst</td>
<td width=30%>tekst</td>
</tr>
</table>


HTML:
1
2
3
4
5
6
7
<table width=900>
<tr>
<td width=180>tekst</td>
<td width=450>tekst</td>
<td width=270>tekst</td>
</tr>
</table>


Wat doe ik fout ?

  • whoami
  • Registratie: December 2000
  • Laatst online: 14:08
Clientside problemen horen niet thuis in P&W, maar in W&G. Zie ook de forumdescriptions, en let in het vervolg ook even op de titel.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 14:08
-> W&G dus.

https://fgheysels.github.io/


Verwijderd

Topicstarter
excuses

Verwijderd

misschien geen tabellen gebruiken?

  • André
  • Registratie: Maart 2002
  • Laatst online: 26-05 00:33

André

Analytics dude

Hmm, en als je style=" table-layout:fixed" in je style zet? Want dan hoeft IE niet de hele tabel pas aan het einde te renderen, alle kolommen worden dan net zo breed als de eerste.

  • Noork
  • Registratie: Juni 2001
  • Niet online
tja zal best een mooie css of andere oplossing voor zijn. Maar ligt het niet gewoon aan de snelheid van je query, database of server. Ik kan me niet voorstellen dat het oproepen van een topic zo heel veel tijd in beslag gaat nemen. Of je moet natuurlijk 99999 posts op 1 pagina hebben.

  • André
  • Registratie: Maart 2002
  • Laatst online: 26-05 00:33

André

Analytics dude

Noork schreef op 22 maart 2004 @ 13:11:
tja zal best een mooie css of andere oplossing voor zijn. Maar ligt het niet gewoon aan de snelheid van je query, database of server. Ik kan me niet voorstellen dat het oproepen van een topic zo heel veel tijd in beslag gaat nemen. Of je moet natuurlijk 99999 posts op 1 pagina hebben.
Daar gaat het niet, de table tag heeft de vervelende eigenschap om pas te verschijnen als alle tekst daarbinnen geladen is, en bij een forumtopic met 100 posts kan dat wel even duren.

Terwijl als je het met layers doet of met losse tabellen verschijnen de berichten direct als ze binnen zijn en niet pas als alle berichten er zijn.

  • InZane
  • Registratie: Oktober 2000
  • Laatst online: 17:54
André schreef op 22 maart 2004 @ 13:16:
[...]

Daar gaat het niet, de table tag heeft de vervelende eigenschap om pas te verschijnen als alle tekst daarbinnen geladen is, en bij een forumtopic met 100 posts kan dat wel even duren.
De table tag? IE heeft die vervelende eigenschap bedoel je!
André schreef op 22 maart 2004 @ 13:16:
[...]

Terwijl als je het met layers doet of met losse tabellen verschijnen de berichten direct als ze binnen zijn en niet pas als alle berichten er zijn.
Het mooiste is natuurlijk om het met divjes op te lossen :)

[ Voor 8% gewijzigd door InZane op 22-03-2004 13:50 ]


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

InZane:
Het mooiste is natuurlijk om het met divjes op te lossen :)
en waarom is dat dan "het mooist" ?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-05 18:53

Bosmonster

*zucht*

Een forum overzicht is imho gewoon tabulaire data en kan prima in een table worden weergegeven. Berichten daarentegen kan weer eenvoudiger in divs.

Overigens hangt het ook weer een beetje af van je serverinstellingen. Zo heb je in PHP iets leuks dat mensen vaak vergeten uit te zetten in een script: output-buffering. Zorg dat je voordat je met dit soort data weergeven begint dat je je outputbuffer geleegd hebt.

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Another application of DL, for example, is for marking up dialogues, with each DT naming a speaker, and each DD containing his or her words.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • pietje63
  • Registratie: Juli 2001
  • Nu online

pietje63

RTFM

Noork schreef op 22 maart 2004 @ 13:11:
tja zal best een mooie css of andere oplossing voor zijn. Maar ligt het niet gewoon aan de snelheid van je query, database of server. Ik kan me niet voorstellen dat het oproepen van een topic zo heel veel tijd in beslag gaat nemen. Of je moet natuurlijk 99999 posts op 1 pagina hebben.
Op een wat oudere pc zoals dit (amd 450) zijn 100 post per pagina al veel... moet steeds enkele seconde wachten voor ie het gerenderd heeft (heb daarom ook de limiet op 50 staan). Dit ligt niet aan de snelheid van mijn ie verbinding.

Verder denk ik dat als je het via tabellen wilt doen je de opmaak van de tabellen via css moet doen, dus via css de breedte mee geven, om een of andere voor mij overklaarbare reden luisteren browsers daar beter na de width="waarde".

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


  • Noork
  • Registratie: Juni 2001
  • Niet online
André schreef op 22 maart 2004 @ 13:16:
[...]

Daar gaat het niet, de table tag heeft de vervelende eigenschap om pas te verschijnen als alle tekst daarbinnen geladen is, en bij een forumtopic met 100 posts kan dat wel even duren.

Terwijl als je het met layers doet of met losse tabellen verschijnen de berichten direct als ze binnen zijn en niet pas als alle berichten er zijn.
Ja oke, maar hoe zit het met je query en server. Volgens mij moet je gewoon wat optimaliseren.

  • Markieman
  • Registratie: December 2001
  • Laatst online: 15-05 12:16
Volgens mij gaat men een beetje voorbij aan de vraag waarom de tabellen niet even breed zijn...

Ik raad de TopicStarter aan om de html/css/js-code van GoT te bestuderen =)

You do not fear them? - The Wraith? Naah. Now *clowns*, that's another story.


Verwijderd

Topicstarter
Dank allemaal voor de reacties... toen ik net het topic opende leek hij dood te zijn maar ik zie dat er veel reacties zijn gekomen. Ik zal even toelichten waarom het lang duurt. De server is goed en snel dat is geen probleem. Alleen als er een plaatje in een post staat dan duurt het langer om dat te laden. Dit komt onder andere ook omdat in mijn script wordt gekeken of het plaatje niet groter is dan 500 pixels breed. Zo ja geef weer op 500 pixels breed en maak er een link van, zo nee geef m gewoon weer. Dit kost nogal wat tijd als je 10 plaatjes hebt. Vandaar het idee om meerdere tabellen te gebruiken. Ik heb al een beetje gekeken naar god maar dat is echt een wirwar als ik het zo in notepad bekijk. Ik zal nog eens proberen om de layout op fixed te zetten en ik zal laten weten of dit gelukt is.

Verwijderd

Topicstarter
fixed layout werkt toch niet. Maar wat me wel opvalt... het is alleen in posts met plaatjes dat de tabellen niet synchroon lopen ?

  • ixi
  • Registratie: December 2001
  • Laatst online: 17-05 17:12

ixi

Een prachtige poging:
<td><div style="overflow: hidden; width: 500px;">plaatje</div></td>

Je keuze om losse tabellen vind ik eerlijk gezegd een beetje raar. Zoveel kb zal het allemaal toch niet zijn (excl. plaatjes dan)?

  • Markieman
  • Registratie: December 2001
  • Laatst online: 15-05 12:16
Verwijderd schreef op 23 maart 2004 @ 03:23:
fixed layout werkt toch niet. Maar wat me wel opvalt... het is alleen in posts met plaatjes dat de tabellen niet synchroon lopen ?
Dan ziet het er naar uit dat je plaatjes toch te breed worden...

Als de inhoud van een tabel breder is dan de tabel zelf, dan wordt de tabel vergroot zodat het wel past, hier is (naar mijn weten) niets aan te doen =) Misschien je plaatjes toch nog iets kleiner laten maken...


Verder een reactie op ieders commentaar over het gebruik van meerdere tabellen. Zoals eerder gezegd laat IE een tabel pas zien zodra hij </table> gevonden heeft. Indien het een grote tabel is, of met veel plaatjes kan het dus even duren. Bij het gebruik van meerdere tabellen laadt het allemaal een stukkie sneller. Dit is trouwens een beproefde methode, zelfs GoT is naar mijn weten zo opgebouwd. Kijk maar eens naar broncode van wat fora, ze staan vol met <table> en </table>

You do not fear them? - The Wraith? Naah. Now *clowns*, that's another story.


Verwijderd

<table width=900>
<tr>
<td width=180>tekst</td>
<td width=450>tekst</td>
<td width=270>tekst</td>
</tr>
</table>


als je het zo doet werkt het
<table width=900 align="left">
<tr>
<td width=180 align ="left" valign="top" nowrap>tekst</td>
<td width=450 align ="left" valign="top" nowrap>tekst</td>
<td width=270 align ="left" valign="top" nowrap>tekst</td>
</tr>
</table>

Maar ook weet ik niet waarom je dan verschillende width's geeft aan je tabellen, natuurlijk worden ze groter dan.

groetjes,
-Galo

Verwijderd

Topicstarter
ixi schreef op 23 maart 2004 @ 03:57:
Een prachtige poging:
<td><div style="overflow: hidden; width: 500px;">plaatje</div></td>

Je keuze om losse tabellen vind ik eerlijk gezegd een beetje raar. Zoveel kb zal het allemaal toch niet zijn (excl. plaatjes dan)?
Ja ! Dat werkte... super bedankt. Nog even voor de search m'n code ziet er nu zo uit

HTML:
1
2
3
4
5
<table width=900><tr>
<td><div style="overflow: hidden; width: 180px;">....tekst/plaatje.....</div></td>
<td><div style="overflow: hidden; width: 450px;">....tekst/plaatje.....</div></td>
<td><div style="overflow: hidden; width: 270px;">....tekst/plaatje.....</div></td>
</tr></table>

Verwijderd

Het enigste wat je kan doen om kolommen perfect op elkaar aan te laten sluiten is één grote tabel gebruiken. Dan gaat het zeker goed, anders moet je de breedte statisch vastzetten, maar goed, ik denk niet dat dat hetgene is wat je wilt.

Als het plaatjes zijn die ervoor zorgen dat een kolom te breed wordt, dan kan je ervoor zorgen dat een plaatje een vaste breedte heeft (dmv width property in img tag), het nadeel hiervan is dat een te klein plaatje vergroot wordt, wat de kwaliteit natuurlijk niet verbetert.
Pagina: 1