Kasterl: FF ignoriert "min-height"

Hi,

da ich bei meiner Suche nach fehlfunktionen im zusammenhang mit "min-height" immer nur auf lösungen zu ie oder safari gestossen bin, jedoch mein ff zickt, wollt ich fragen was ich wohl falsch gemacht hab.

css:

...
table
 {
         position:absolute;
         padding:0;
         spacing:0;
         empty-cells:show
         }

table.body

{
         top:150px;
         left:200px;
         width:80%;
         min-height:600px;
         background-color:#ffffff;
         border-left:2px solid #990000;
         }

...

verwende ich die klasse body in einem table-element sollte sich doch, unabhängig vom inhalt der td-elemente, eine Tabelle mit mindestens 600 pixeln höhe aufspannen.
mein ff zeigt mir jedoch mit

...
<table class="body">
 <tr>
          <td>text</td>
        </tr>
</table>
...

nur eine Zeile in schriftgrösse an.

mein fehler oder seiner(ff)?

lg k.

  1. hallo,

    ... wollt ich fragen was ich wohl falsch gemacht hab.

    Vermutlich das hier:

    empty-cells:show

    Da fehlt ein Semikolon.

    mein fehler oder seiner(ff)?

    Im Zweifelsfall sitzt die Fehlerquelle immer _vor_ dem Rechner.

    Grüße aus Berlin

    Christoph S.

    --
    Visitenkarte
    ss:| zu:) ls:& fo:) va:) sh:| rl:|
    1. semikolon ist jetzt gesetzt.
      keine veränderung der darstellung.

      semikolon vor } ist doch auch nicht zwingend notwendig oder?

      dank und gruss aus berlin zurück ;)

      k.

      1. hallo,

        semikolon vor } ist doch auch nicht zwingend notwendig oder?

        Schwierig zu beantworten. Zumindest ist es immer richtig, eines hinzusetzen.

        Versuch mal, ohne "Klasse" auszukommen und weise dein "min-height" einfach der gesamten Tabelle zu. Normalerweise versteht Firefox "min-height". Aber vielleicht solltest du überlegen, _was_ du da so Großes in deine Tabelle stopfen willst und ob du dafür überhaupt eine Tabelle brauchst.

        Grüße aus Berlin

        Christoph S.

        --
        Visitenkarte
        ss:| zu:) ls:& fo:) va:) sh:| rl:|
        1. da es mein erstes projekt ist, hab ich das layout über 4-tabellen gestaltet.

          tabelle body enthält den gesamten inhalt der jeweiligen seite im gesamten projekt, abgesehen von den tabellen für logo, header und navigation.
          body soll primär aus design-gründen mindestens 600px hoch sein, damit es sich an die navigation anfügt.

          klassen sind zu vermeiden, weil...?
          belasten tabellen mehr als div-elemente?

          lg k.

          1. hallo,

            da es mein erstes projekt ist, hab ich das layout über 4-tabellen gestaltet.

            Das gibt Schimpfe ... Es gehört mittlerweile zu den Glaubensgrundsätzen vieler Forumsbesucher, daß Tabellen eben _nicht_ für Layoutzwecke benutzt werden sollten. Da gibt es mehrere Alternativen.

            klassen sind zu vermeiden, weil...?

            Das sind sie durchaus nicht. Klassen können sogar enorm hilfreich sein. Aber manchmal hat man bereits für das HML-Element selbst irgendwas vorgesehen, was dann den Angaben in einer zusätzlichen Klasse widerspricht.

            Andrerseits hast du jetzt ein paar andere Antworten auch bekommen, und da steckt zumindest bei dem Hinweis von Gunther noch einiges drin, was du unbedingt beachten solltest.

            belasten tabellen mehr als div-elemente?

            Wenn es dein "erstes Projekt" ist: ja. Nämlich dich. Du wirst relativ bald bemerken, daß du dein Layout nochmal umstricken solltest, und dann kriegst du ziemlich viel Fuzzeleien zu lösen.

            Grüße aus Berlin

            Christoph S.

            --
            Visitenkarte
            ss:| zu:) ls:& fo:) va:) sh:| rl:|
            1. hmm erschien mir einfach mit den tabellen und klassen...

              gibst du mir denn netterweise einen hinweis auf die von dir genannten alternativen?

              lg k.

              1. hallo,

                gibst du mir denn netterweise einen hinweis auf die von dir genannten alternativen?

                Auch das ist schwierig. Welches Layout (und welche technische Grundlage dafür) man wählt, ist entscheidend davon abhängig, welche Inhalte denn transportiert werden sollen.

                Im wesentlichen wird bei solchen Fragen hier im Forum auf zwei Möglichkeiten verwiesen:
                1. Frames (da gibt es aber auch wieder diverse Probleme, vielhundertfach im Archiv nachzulesen)
                2. DIVs - das hast du ja selbst bereits angesprochen. Dazu gibt es in SELFHTML ein sehr gutes Kapitel, dessen Lektüre dir unbedingt empfohlen werden kann.

                Es gibt aber deutlich mehr Möglichkeiten:
                3. Gar keine "übergeordneten" Elemente. Wenn deine Seite beispielsweise Text und ein paar Bilder enthält, kannst du auf allen anderen Schnickschnack verzichten.
                4. Serverseitige Techniken. Bei vielen Seiten genügt es, die Inhalte mit Hilfe von SSI zusammensetzen zu lassen.
                5. [...]

                Grüße aus Berlin

                Christoph S.

                --
                Visitenkarte
                ss:| zu:) ls:& fo:) va:) sh:| rl:|
                1. dann mach ich mich mal schlauer ;)

                  vielen dank

                  k.

                  1. Gar keine "übergeordneten" Elemente. Wenn deine Seite beispielsweise Text und ein paar Bilder enthält, kannst du auf allen anderen Schnickschnack verzichten.

                  Schön wärs, wenn da nicht die variante strict wäre.

                  Tobi

        2. Hallo Christoph.

          Schwierig zu beantworten.

          Naja.
          Zitat aus SELFHTML: »Nur bei der letzten Definition vor der schließenden geschweiften Klammer darf der Strichpunkt auch entfallen.«

          Servus
          Flo

          1. hallo flowh,

            Zitat aus SELFHTML: »Nur bei der letzten Definition vor der schließenden geschweiften Klammer darf der Strichpunkt auch entfallen.«

            Warum das ein etwas unglücklicher, wenn auch richtiger Hinweis ist, wurde hier im Thread bereits beantwortet. Nicht alles, was sein "darf" ist auch wirklich sinnvoll, vor allem, wenn man grade noch am Basteln ist.

            Grüße aus Berlin

            Christoph S.

            --
            Visitenkarte
            ss:| zu:) ls:& fo:) va:) sh:| rl:|
      2. Hallo Kasterl

        semikolon vor } ist doch auch nicht zwingend notwendig oder?

        Es ist nicht nötig.
        Trotzdem ist es empfehlenswert, es vermeidet dieses beim Hinzufügen weiterer Eigenschaften zu vergessen.

        Auf Wiederlesen
        Detlef

        --
        - Wissen ist gut
        - Können ist besser
        - aber das Beste und Interessanteste ist der Weg dahin!
  2. Hallo Kasterl

    verwende ich die klasse body in einem table-element sollte sich doch, unabhängig vom inhalt der td-elemente, eine Tabelle mit mindestens 600 pixeln höhe aufspannen.

    Ich kann nicht sagen, ob min-height bei Tabellen zu ignorieren ist oder wo dies steht.
    Es ist aber unnötig. Bei Tabellen kann height verwendet werden um die Mindesthöhe anzugeben.
    Table height algorithms

    Auf Wiederlesen
    Detlef

    --
    - Wissen ist gut
    - Können ist besser
    - aber das Beste und Interessanteste ist der Weg dahin!
    1. wieso kompliziert wenns auch einfach geht :)

      vielen dank k.

  3. Hi,

    da ich bei meiner Suche nach fehlfunktionen im zusammenhang mit "min-height" immer nur auf lösungen zu ie oder safari gestossen bin, jedoch mein ff zickt, wollt ich fragen was ich wohl falsch gemacht hab.

    css:

    ...
    table
    {
             position:absolute;
             padding:0;
             spacing:0;
             empty-cells:show
             }

    table.body

    {
             top:150px;
             left:200px;
             width:80%;
             min-height:600px;
             background-color:#ffffff;
             border-left:2px solid #990000;
             }

    ...

    Also zunächst einmal gibt es keine CSS Eigenschaft "spacing", sondern lediglich border-spacing. Ferner ist es zwar nicht verkehrt, aber nicht besonders "glücklich" HTML Tagnamen als Klassen- oder Id-Namen zu verwenden.

    Pauschal alle Tables absolut zu positionieren, und welche die einer Klasse zugeordnet sind (also eigentlich mehrfach innerhalb einer Datei vorkommen können sollten), ganz konkret, halte ich ebenfalls für ziemlich "gewagt".

    Zusätzlich könntest du dir auch mal die Kurzschreibweisen angucken.

    Und zu deinem eigentlichen Problem: Absolut positionierte Elemente sind aus dem Fluss genommen und orientieren sich am nächst übergeordneten Element, welches eine andere position als static hat, bzw. am Root-Element (meist <html>). Wenn dieses Element keine Höhe(nangabe) hat, funktioniert dein min-height auch nicht.

    Versuche:

    html {height: 100%}

    Und wie du schon richtig bemerkt hast, braucht die letzte Anweisung kein ';'. Ich empfehle es trotzdem immer zu schreiben, denn man hat schnell noch eine weitere Anweisung angefügt und dann prompt das Semikolon vergessen.

    Gruß Gunther

    1. Hi nochmal!

      Und zu deinem eigentlichen Problem: Absolut positionierte Elemente sind aus dem Fluss genommen und orientieren sich am nächst übergeordneten Element, welches eine andere position als static hat, bzw. am Root-Element (meist <html>). Wenn dieses Element keine Höhe(nangabe) hat, funktioniert dein min-height auch nicht.

      Versuche:

      html {height: 100%}

      Meine Aussage bezieht sich natürlich nur auf prozentuale Angaben für _height_!

      Detlef hat es ja zwischenzeitlich schon gepostet gehabt: CSS 2.1 verwendet bei Tabellen _height_ (und nicht min-height), welches sich aber eben wie min-height verhält. Das ist leider noch ein Zugeständnis aus der HTML Tabellen Ära aus dem Ende des letzten Jahrtausends.

      Gruß Gunther

    2. die unglückliche bennenung "body" leuchtet mir ein.

      die absolte position hab ich gewählt um mit meinem tabellen-layout, von dem tabellen layout wurde mir grad am anderen ende des threads abgeraten, ohne floaten klar zu kommen.

      werd mich mal mit deinen vorschlägen beschäftigen :)

      vielen dank

      k.