Table 100% moet stoppen met uitvullen

Pagina: 1
Acties:

  • paQ
  • Registratie: Augustus 2001
  • Laatst online: 01:08
Beetje moeilijk uit te leggen dit, maar ik ga het proberen...

Een table set to 100% width. Die gaat natuurlijk netjes mee zodra ik mijn window groter trek. Zo staat altijd alles netjes in het midden van het scherm en loop je geen risico met mensen die op 800 x 600 kijken...
Alleen wat vrienden van mij zie ik toch nog best vaak op een behoorlijk hoge resolutie op een 19" monitor kijken... In dat geval zullen er veel dingen iet meer logisch op het scherm staan, igg niet zoals ze oorspronkelijk bedoeld waren..

Mijn vraag dus: Kan ik dat ergens stoppen? dat proces van uitvulling?

Praktijkvoorbeeldje:
Tabelletje met 7 cellen, waarvan de middelste vijf buttons bevatten...
code:
1
2
3
4
5
6
7
8
9
10
11
12
<table width="100%" cellspacing="0" cellpadding="0" 
align="center" bordercolor="#000000" height="22">
  <tr bgcolor="#764045"> 
    <td >&nbsp;</td>
    <td width="120" height="22">BUTTON</td>
    <td width="120" height="22">BUTTON</td>
    <td width="120" height="22">BUTTON</td>
    <td width="120" height="22">BUTTON</td>
    <td width="120" height="22">BUTTON</td>
    <td >&nbsp;</td>
  </tr>
</table>

Omdat ik wil dat de buttons ten aller tijde tegen elkaar aanstaan geef ik de cellen waar buttons instaan een vaste waarde van 120 breed mee...

Nu wil ik dat bijv zodra het window groter dan 1100 pixels wordt getrokken, alleen de meest rechter cel nog "mee trekt" en dat de rest netjes op zijn plek blijft staan... Maar.... zodra het scherm kleiner wordt gemaakt, dan moet het hele zootje mee naar links schuiven..

Kan dit :?

Ik doe niet aan bijgeloof. Dat brengt ongeluk.


Verwijderd

denk het niet. een oplossing voor alleen het meeste rechtse cel laten vergroten als het window groter wordt is makkelijk, nl gewoon de meest linkse cel ook een vaste waarde geven.

maar dan kan je dus niet meer voor elkaar krijgen dat alles weer mee naar links schuift op het moment dat je het kleiner maakt.

ik denk dus dat wat jij wil niet mogelijk is...

  • paQ
  • Registratie: Augustus 2001
  • Laatst online: 01:08
Verwijderd schreef op 09 september 2002 @ 21:57:
denk het niet. een oplossing voor alleen het meeste rechtse cel laten vergroten als het window groter wordt is makkelijk, nl gewoon de meest linkse cel ook een vaste waarde geven.

maar dan kan je dus niet meer voor elkaar krijgen dat alles weer mee naar links schuift op het moment dat je het kleiner maakt.

ik denk dus dat wat jij wil niet mogelijk is...
Dus er iets niet zoiets van
code:
1
{if td1 width>200, then stop getting bigger}

:D

Ik doe niet aan bijgeloof. Dat brengt ongeluk.


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Nope, niet echt.. De enige oplossing zou kunnen zijn om frames te gebruiken. Gewoon een frameset van *,maximale breedte,* oid. Alleen schijnen sommige mensen niet zo blij met frames te zijn....

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Dus er iets niet zoiets van

code:
1
{if td1 width>200, then stop getting bigger}
Nee, helaas niet :(

  • paQ
  • Registratie: Augustus 2001
  • Laatst online: 01:08
Janoz schreef op 09 september 2002 @ 23:19:
Nope, niet echt.. De enige oplossing zou kunnen zijn om frames te gebruiken. Gewoon een frameset van *,maximale breedte,* oid. Alleen schijnen sommige mensen niet zo blij met frames te zijn....
:{ hmm... Past helaas niet in mijn Lay-out, omdat de betreffende table ergens midden over mijn scherm staat... Dan zou ik daar boven én beneden ook nog een frame moeten maken... en ja... er zijn grenzen, en die moeten gesloten worden...
Het viel te proberen :P

Ik doe niet aan bijgeloof. Dat brengt ongeluk.


Verwijderd


[...]
hmm... Past helaas niet in mijn Lay-out, omdat de betreffende table ergens midden over mijn scherm staat... Dan zou ik daar boven én beneden ook nog een frame moeten maken... en ja... er zijn grenzen, en die moeten gesloten worden...
Janos bedoelt: <framset rows="*,100%,*">
heb je wel twee extra frames, maar die zie je niet...

Verwijderd

Wat paq wil, kan in principe wel (maar frames is wel eenvoudiger). Moet je de tabel in een document.write zetten. De voorwaarden om een cel te vergroten kan je dan meenemen bij het uitlezen van de grootte van het beeldscherm. Bij het weer teruggaan naar een kleinere waarde zul je dan wel een functie in moeten bouwen om je pagina te refreshen o.i.d.
Een voorzetje zou het volgende kunnen zijn:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var height, width;
var breedte=1100;

function maat()
{
if (document.all)
    height = document.body.offsetHeight, width = document.body.offsetWidth;
else
if (document.layers)
    height = window.innerHeight, width = window.innerWidth;
}

function schrijven()
{
document.write('<table width="100%" cellspacing="0" cellpadding="0" align="center" bordercolor="#000000" height="22"><tr bgcolor="#764045"><td>&nbsp</td><td width="100" height="22">BUTTON</td><td width="100" height="22">BUTTON</td><td width="100" height="22">BUTTON</td><td width="100" height="22">BUTTON</td><td width="100" height="22">BUTTON</td>');
if (breedte > width)
document.write('<td>&nbsp</td>');
else
document.write('<td width="100">&nbsp');
document.write('</tr></table>');
}


[code]
<body onLoad="javascript:maat();schrijven()" onResize="javascript:maat()";>

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
ik loop me daar al zo'n twee jaar over te verbazen...dat niemand bij die browsers op het idee komt een attribute maxwidth/height te gaan inbouwen. moet echt een kleine moeite zijn om te programmeren en volgens mij hebben erg veel webdesigners er behoefte aan

  • paQ
  • Registratie: Augustus 2001
  • Laatst online: 01:08
Verwijderd schreef op 10 september 2002 @ 00:12:
Wat paq wil, kan in principe wel (maar frames is wel eenvoudiger). Moet je de tabel in een document.write zetten. De voorwaarden om een cel te vergroten kan je dan meenemen bij het uitlezen van de grootte van het beeldscherm. Bij het weer teruggaan naar een kleinere waarde zul je dan wel een functie in moeten bouwen om je pagina te refreshen o.i.d.
Een voorzetje zou het volgende kunnen zijn:

code:
1
*knip


[code]
<body onLoad="javascript:maat();schrijven()" onResize="javascript:maat()";>
Kijk...
ga ik daar eens met stoeien....

bedankt :)

Ik doe niet aan bijgeloof. Dat brengt ongeluk.


  • Grom
  • Registratie: Juli 2002
  • Laatst online: 25-11-2024

Grom

lief hè!

marty schreef op 10 september 2002 @ 01:28:
ik loop me daar al zo'n twee jaar over te verbazen...dat niemand bij die browsers op het idee komt een attribute maxwidth/height te gaan inbouwen. moet echt een kleine moeite zijn om te programmeren en volgens mij hebben erg veel webdesigners er behoefte aan
Heb je er ooit naar gezocht? ;)

zoek maar eens naar css maxwidth
Pagina: 1