[HTML & CSS] Cellen in tabel: vaste en variabele breedtes

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

  • Rexomnium
  • Registratie: September 2000
  • Laatst online: 01-12 14:55

Rexomnium

Vincam aut moriar

Topicstarter
Dames en heren ook,

Ik heb een PHP-kalender gemaakt. Deze wil ik uiteraard mooi indelen in HTML, maar ik ondervind wat problemen. Ik heb een variabele aantal rows en ik heb acht columns. In de eerste column staat het weeknummer. In de rest van de columns staan de dagen van maandag t/m zondag.
Ik wil de column van het weeknummer een vaste breedte geven van 25 pixels. De rest van de columns moeten een gelijke breedte krijgen.
Het lukt me maar niet om dit goed te krijgen. Als ik de weeknummercolumn een breedte van 25 pixels in CSS geef, dan wordt de uiteindelijke breedte iets van 28, 29 pixels. De rest van de columns is in Internet Explorer 6 wel goed, maar in firefox doet de middelste column raar, die is namelijk iets smaller dan de rest.
Je kunt hier een voorbeeld vinden.
Kan iemand mij helpen?

We zijn allemaal vaandeldrager in een optocht van gekwetsten.


  • BBrunekreeft
  • Registratie: Mei 2004
  • Laatst online: 22:52

BBrunekreeft

Dus...

Misschien moet je de tabel breedte in je CSS niet op 100% zetten.

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10 08:18
dat je eerste kolom breeder is dan de opgegeven breedte komt door je 3pixels padding.

Verder is dacht ik standaard behaivor van een table cell om zichzelf te schalen aan de hand van de inhoud van de cel.
(een een width: 1; veranderd daar neit zoveel aan)

[ Voor 11% gewijzigd door BasieP op 25-05-2007 11:04 ]

This message was sent on 100% recyclable electrons.


  • Willem
  • Registratie: Februari 2001
  • Laatst online: 01-12 09:45
cellpadding en cellspacing uit je code wegdeleten en in je css border-collapse:collapse toevoegen en de breedte/hoogte/padding daar ook in regelen. Vervolgens die cel een class geven en daar een breedte opgeven.

  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10 08:18
willem169 schreef op vrijdag 25 mei 2007 @ 11:01:
cellpadding en cellspacing uit je code wegdeleten en in je css border-collapse:collapse toevoegen en de breedte/hoogte/padding daar ook in regelen. Vervolgens die cel een class geven en daar een breedte opgeven.
en toen zag de hele pagina er compleet anders uit..
border-collapse: collapse; heeft niks te maken met het probleem van de TS. dit is een grafische setting.

verder kan je een cel geen vaste breedte geven omdat je de totale breedte niet weet (in pixels dan)

wat misschien wel zou kunnen is alles in % regelen, maar volgens mij zijn tables niet echt heel 'strak' met het houden van hun breedte

[ Voor 20% gewijzigd door BasieP op 25-05-2007 11:06 ]

This message was sent on 100% recyclable electrons.


  • Willem
  • Registratie: Februari 2001
  • Laatst online: 01-12 09:45
Als je al met cellspacing="1" gaat werken is je cel nooit precies het aantal pixels breed zoals je wilt. Als je met border-collapse:collapse, en margin(/padding):0; werkt kun je wel een exacte breedte van een cel opgeven (in pixels), ook al is de rest van de breedte van de tabel/cellen procentueel geregeld.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

BasieP schreef op vrijdag 25 mei 2007 @ 11:05:
[...]

en toen zag de hele pagina er compleet anders uit..
border-collapse: collapse; heeft niks te maken met het probleem van de TS. dit is een grafische setting.
Weet je wel wat border collapse doet? ;)

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.


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10 08:18
willem169 schreef op vrijdag 25 mei 2007 @ 11:24:
Als je al met cellspacing="1" gaat werken is je cel nooit precies het aantal pixels breed zoals je wilt. Als je met border-collapse:collapse, en margin(/padding):0; werkt kun je wel een exacte breedte van een cel opgeven (in pixels), ook al is de rest van de breedte van de tabel/cellen procentueel geregeld.
je kunt ook prima dmv css de breedte van een cel exact opgeven zonder border-collapse: collapse;

daarnaast is het wel zo dat 'cellspacing="1"' niet echt strookt met het idee om scheiding aan te brengen tussen inhoud en opmaak.
Zulke dingen horen in css

This message was sent on 100% recyclable electrons.


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10 08:18
BtM909 schreef op vrijdag 25 mei 2007 @ 11:26:
[...]

Weet je wel wat border collapse doet? ;)
als je mij iets wilt vertellen moet je dat doen, hoef je niet zo uit de hoogte te doen hoor.
Ik weet prima wat border-collapse doet.

het zorgt dat de randen van alles in die tabel over elkaar heen vallen.
dwz, de border van de cel is 1px en de border van de tabel zelf ook, en met die optie krijg je dan een totale border van 1px ipv van 2.

maar nogmaals, dan verander je de layout (ruimte tussen cellen bestaat niet meer), en hoewel de topicstarter daar misschien geen bezwaar tegen heeft is dit niet per see nodig.

This message was sent on 100% recyclable electrons.


  • Rexomnium
  • Registratie: September 2000
  • Laatst online: 01-12 14:55

Rexomnium

Vincam aut moriar

Topicstarter
Bedankt voor de vele (extra) tips die jullie me hebben gegeven. Ik heb ze verwerkt in de code. Het was me gelukt om de eerste column een vaste breedte te geven van 25 pixels. Echter, als ik nu de rest van de columns een percentage-breedte geef, dan rekt de eerste column mee.
Hoe zorg ik er nu voor dat de eerste column netjes 25 pixels blijft en de rest van de columns, onafhankelijk van de resolutie, een gelijke breedte hebben?

Ik vind het niet echt handig om hier hele lappen code neer te plempen, vandaar dat je ze kunt opzoeken op de relevante pagina. Mocht de code hier wél gewenst zijn, geef dan even een seintje

[ Voor 18% gewijzigd door Rexomnium op 27-05-2007 13:14 ]

We zijn allemaal vaandeldrager in een optocht van gekwetsten.

Pagina: 1