Tabellenzeilen: height teils fest, teils dynamisch
Philipp
- programmiertechnik
0 Andreas0 Philipp0 brand
0 n.d. parker0 Philipp
0 Jens Irrgang0 Philipp
0 Droid
Hallo,
ich bin gerade dabei, für meine Website (www.popular-websites.de) ein neues Design, gestützt von blinden Tabellen zu erstellen. Allerdings gibt es da eine Zelle, in der die Daten dynamisch (von PHP) geschrieben werden. Und da habe ich jetzt ein kleines Problem. So sieht die Tabelle (stark vereinfacht) aus:
+---+---+
1
+---+ 3
2
+---+---+
In Zelle 3 werden die Daten dynamisch geschrieben. Nun mein Problem: Wenn die Datenmenge größer ist as die Größe von Zelle 3, wird Zelle 3 automatisch in der Höhe vergrößert (soll ja so sein). Allerdings werden dabei Zellen 1 und 2 gleichmäßig mitverändert. Ich möchte aber, daß die Höhe von Zelle 1 immer fest ist und sich nicht verändert (da ist mein Seitenmenü drin), und stattdessen Zelle 2 mehr verändert wird:
+---+---+
1
+---+
3
2
+---+---+
Wie kriege ich das hin?
mfG, Philipp
Moin,
Hallo,
...
In Zelle 3 werden die Daten dynamisch geschrieben. Nun mein Problem: Wenn die Datenmenge größer ist as die Größe von Zelle 3, wird Zelle 3 automatisch in der Höhe vergrößert (soll ja so sein). Allerdings werden dabei Zellen 1 und 2 gleichmäßig mitverändert. Ich möchte aber, daß die Höhe von Zelle 1 immer fest ist und sich nicht verändert (da ist mein Seitenmenü drin), und stattdessen Zelle 2 mehr verändert wird:+---+---+
1
+---+
3
2
+---+---+Wie kriege ich das hin?
mfG, Philipp
wenn der Inhalt von Zelle 1 diese vollständig ausfüllt, sollte es reichen die Höhe von Zelle 2 auf einen entsprechend hohen Wert zu setzen, z.B. 90%.
Ansonsten könntest Du in Zelle 1 vielleicht noch ein Blindgif einfügen, um die gewünschte feste Zellenhöhe immer zu erzwingen.
Gruß,
Andreas
Hallo,
wenn der Inhalt von Zelle 1 diese vollständig ausfüllt, sollte es reichen die Höhe von Zelle 2 auf einen entsprechend hohen Wert zu setzen, z.B. 90%.
Mein Problem ist ja gerade: Ich kenne die Prozentzahl nicht, da die Zelle 3 ja dynamisch gefüllt wird. Außerdem sind es in Winrklichkeit ja mehr als 3 Zellen (das war ja vereinfacht dargestellt). Es geht darum, daß alle Zellen (außer Nr. 3, nattürlich) eine feste Größe haben, und links unten eine einzige Zelle ist, die dann ihre Größe verändert, wenn Zelle 3 verändert wird.
Ansonsten könntest Du in Zelle 1 vielleicht noch ein Blindgif einfügen, um die gewünschte feste Zellenhöhe immer zu erzwingen.
In allen Zellen außer 3 (da ist Text) und der dynamischen sind Gif's (für's Design) drin...
mfG, Philipp
Moin,
wenn der Inhalt von Zelle 1 diese vollständig ausfüllt, sollte es reichen die Höhe von Zelle 2 auf einen entsprechend hohen Wert zu setzen, z.B. 90%.
Mein Problem ist ja gerade: Ich kenne die Prozentzahl nicht, da die Zelle 3 ja dynamisch gefüllt wird. Außerdem sind es in Winrklichkeit ja mehr als 3 Zellen (das war ja vereinfacht dargestellt). Es geht darum, daß alle Zellen (außer Nr. 3, nattürlich) eine feste Größe haben, und links unten eine einzige Zelle ist, die dann ihre Größe verändert, wenn Zelle 3 verändert wird.
Ansonsten könntest Du in Zelle 1 vielleicht noch ein Blindgif einfügen, um die gewünschte feste Zellenhöhe immer zu erzwingen.
In allen Zellen außer 3 (da ist Text) und der dynamischen sind Gif's (für's Design) drin...
mfG, Philipp
sorry, das ganze klappt erst dann einigermaßen, wenn Du mit <table height="100%"> oder einem ähnlichen Wert operieren kannst - ggf. dann in Zelle 3 mit <td valign="top">.
Der NS 4.7 tut es dann so, wie ich Deine Vorstellungen verstanden habe, mit dem IE 5.0 geht es bei mir immer noch in die Hose.
Das einzige, was mir sonst noch einfiele, wäre eine Frameset-Lösung...
Ciao, Andreas
+---+---+
1
+---+
3
2
+---+---+
Hallo,
ich habe jetzt ein JavaScript geschrieben, das die height von Zelle 2 automatisch auf (height von Zelle 3 - height von Zelle 1) setzt. Allerdings habe ich da ein Problem: Ich kann die Höhe von Zelle 3 nicht auslesen (die von 1 ist ja fest). Ich habe der eine id gegeben (im td-Tag ein id="Hauptzelle"), aber wenn ich setze xxx=document.all.Hauptzelle.height, ist xxx undefined (ich kriege aber keine Fehlermeldung). Was kann ich tun?
mfG, Philipp
Hi!
Zu deinem Problem kann ich dir nicht helfen, aber etwas anderes: Dir ist schon bewußt, daß der Netscape das ALL-Objekt nicht kennt?
mfG
BRAND
hi, philipp,
versuche mal, Zelle 2 auf 100% zu setzen, so sollte der Browser die Zelle 1 auf Minimalgroesse zusammenschieben. (ich habe es jetzt nicht ausprobiert, aber sonst hat es bei mir immer funktioniert...)
cu
n.d.p.
Hallo,
versuche mal, Zelle 2 auf 100% zu setzen, so sollte der Browser die Zelle 1 auf Minimalgroesse zusammenschieben. (ich habe es jetzt nicht ausprobiert, aber sonst hat es bei mir immer funktioniert...)
Funktioniert leider nicht...
mfG, Philipp
Funktioniert leider nicht...
eieieiei, da habe ich wohl nich richtig aufgepasst *gaehn*, sorry, kann ja auch gar nicht... - jedenfalls nicht in dem Zusammenhang.
n.d.p.
Wenn sich Zelle 2 nicht zwingend mitbewegen soll/muss, hier ein Workaround.
+------+------+
1a 2a
+----+
1b
+----+
2b
+----+
+------+------+
1a - leer bis auf die b-Tabelle
2a - Deine dynamischen Inhalte
1b - Dein Menü
2b - Weiss der Hugo
Musst dann allerdings darauf achten, daß im td-Tag für 1a der Paramater valign="top" eingefügt ist, sonst wandert die zweite Tabelle mittig mit.
Ist vielleicht nicht die eleganteste Lösung - aber sie tut es, bis eine bessere kommt.
Super, danke, jetzt gehts!
mfG, Philipp
Hi Phillip
Eine Moeglichkeit waere, in der linken Spalte eine dritte Zelle zu
definieren, die als einzige in der Groesse veraenderbar ist.
+-----+-----+ +-----+-----+
1 1
+-----+ +-----+
2 3 ----> 2 3
+-----+ +-----+
X
+-----+-----+ X
‚
+-----+-----+
1 und 2 muessen also mit festen height-Werten besetzt werden,
so dass sich nur X in der Groesse aendert, falls 3 groesser wird.
Denke, das muesste gehen
cya
Droid