Sven H.: Firefox : Probleme mit Prozentangabe bei Layer?

Hallo @all,

ersteinmal ein dickes HALLO an die Forum-Gemeinde.  :D

Gestern abend bis heute früh habe ich mich mit einem Problem herumgeschlagen und bin nicht weitergekommen. Ich vermute schon, dass es keine Alternative zu meinem Problem gibt, außer I-Frame oder Frameset.
Ich lass mich aber gern belehren!

In folgendem Code ist eine Tabelle dargestellt, die 6 Zellen besitzt.
Diese soll sich immer an die Fensterhöhe anpassen (height 100%).
Die obere und untere Zeile haben eine fixe Höhe.
Die scrollbare Ebene in der Zelle "TD 4"  sollte sich der variablen Höhe der Zelle/Zeile anpassen, in der sie sich befindet und genau das tut diese Ebene nicht - besser gesagt: Nicht im Firefox, im 'gutmütigen' IE funktioniert's einwandfrei. Sicherlich ist es ein "Mutter-Kind-Problem", aber wie sage ich Firefox, dass die Ebene nun endlich mal zur übergeordneten Zelle "Mutti" sagt und nicht zum body?

Den von mir verwendeten Quellcode seht Ihr unter http://www.svenheidrich.de/css-test/

Wer diese Nuß knackt ist für den Rest der Woche mein Held! ;-)

Viele Grüße,
Sven H.

PS: Informationen im Netz konnte ich nicht finden, die mich in irgendeiner Richtung weitergebracht hätten. In jeder Problemlösungen ist die Rede von einer festgelegten Höhe "height:xx.px" für das Layer, was mir nichts nützt.

  1. hi,

    Wer diese Nuß knackt ist für den Rest der Woche mein Held! ;-)

    Auch auf die Gefahr, damit nicht dein Held zu werden:

    Tabellen zum layouten zu missbrauchen, ist out.
    Setze dich mit sauber und gut strukturiertem HTML und CSS-basierten Layouts auseinander.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hiho,

      Tabellen zum layouten zu missbrauchen, ist out.

      Das Problem ist, das Layouts in CSS auch nicht wirklich "in" sind, dank mäßiger Umsetzung in einem großen Browser und (meiner Meinung nach) einigen ziemlichen Designlücken in der Spezifikation von CSS, die das gestalten von Seiten mit reinem CSS zu ner ziemlichen Qual machen...

      Marc

    2. Tabellen zum layouten zu missbrauchen, ist out.
      Setze dich mit sauber und gut strukturiertem HTML und

      Hallo,
      es mag zwar out sein, aber immernoch leicht zu handeln :-)
      Du bist zwar nicht mein "Held", aber trotzdem: Danke für den Link!
      Werde mich mal schlauer machen.

      Grüße,
      Sven

  2. Lieber Sven,

    In folgendem Code ist eine Tabelle dargestellt, die 6 Zellen besitzt.

    muss es wirklich eine Tabelle sein?

    Diese soll sich immer an die Fensterhöhe anpassen (height 100%).
    Die obere und untere Zeile haben eine fixe Höhe.
    Die scrollbare Ebene in der Zelle "TD 4"  sollte sich der variablen Höhe der Zelle/Zeile anpassen, in der sie sich befindet und genau das tut diese Ebene nicht - besser gesagt: Nicht im Firefox, im 'gutmütigen' IE funktioniert's einwandfrei.

    Mit "echtem" CSS (denn so lautet ja der Ordner Deiner URL) wäre das leichter lösbar...

    Sicherlich ist es ein "Mutter-Kind-Problem", aber wie sage ich Firefox, dass die Ebene nun endlich mal zur übergeordneten Zelle "Mutti" sagt und nicht zum body?

    Du hast in einer <td> ein <div> verwendet! Und diesem <div> sagst Du was von height: 100%...

    PS: Informationen im Netz konnte ich nicht finden, die mich in irgendeiner Richtung weitergebracht hätten. In jeder Problemlösungen ist die Rede von einer festgelegten Höhe "height:xx.px" für das Layer, was mir nichts nützt.

    Jein. Wenn Du der Tabelle sagst, dass sie 100% hoch ist, der unteren und oberen Zeile jeweils eine feste Höhe zuordnest, dann muss sich die mittlere Zeile eben strecken. Dazu brauchst Du kein <div> mit style="height:100%"!

    Ich habe das jetzt nicht ausprobiert. Aber es sollte "funzen".

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    1. Hallo Felix,

      »»Dazu brauchst Du kein <div> mit style="height:100%"!
      Damit wollte ich doch den Scrollbalken auf die Zellenhöhe festlegen.
      Ist der Content mal zu lang, dann sollte sich der DIV-Bereich nicht über  die untere Spalte hinausbewegen.

      Danke für deine ausführliche Antwort.
      Bin nach wie vor am tüfteln.

      Viele Grüße,
      Sven

  3. Hi,

    Ich vermute schon, dass es keine Alternative zu meinem Problem gibt, außer I-Frame oder Frameset.

    Das wäre zumindest aus Usability-Sicht die bessere Alternative, da der Besucher sich dann den Frame in einem eigenen Fenster in vernünftiger Größe anzeigen lassen könnte.

    Sicherlich ist es ein "Mutter-Kind-Problem"

    Vielleicht; vielleicht auch ein "Henne-Ei-Problem". Welche Höhe hat die td? Die des Inhalts. Und welche Höhe hat der Inhalt? 100% von der Höhe der td?

    Das div brauchst Du schon für den overflow. "Dank" quirks-mode scheint Firefox Deine falsche und unvollständige Angabe <table height="100%"> auch umzusetzen. Nur wieso positionierst Du das DIV absolut und damit außerhalb der Tabelle?

    freundliche Grüße
    Ingo