Philipp: Tabellenzeilen: height teils fest, teils dynamisch

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

  1. 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

    1. 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

      1. 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

  2. +---+---+
    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

    1. 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

  3. 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.

    1. 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

      1. 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.

  4. 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.

    1. Super, danke, jetzt gehts!

      mfG, Philipp

  5. 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