Jean: Höhe lässt sich nicht prozentual definieren

Hallo.

Vielleicht stehe ich ja auf dem Schlauch, aber ich
schaffe es nicht die Höhe einer Tabelle mit 100%
zu definieren.

Hier mein simples Beispiel:

<table border="1" cellpadding="0" cellspacing="0" height="100%">

<tr>

<td height="100%">TEST</td>

</tr>

</table>

Mir war ja schon vorher klar, dass der IE 6 keine
100% geben würde, aber das es sich gleich in dieser
Form äussern muss.

Es würde mich freuen, wenn jemand weiter weiss...

  1. Hallo

    Mal abgesehen davon,daß height ...

    <table border="1" cellpadding="0" cellspacing="0" height="100%">#

    ... hier nicht ...

    <tr>
      <td height="100%">TEST</td>

    ... hier jedoch doch (weia, liest sich das scheiße) ...

    </tr>
    </table>

    ... erlaubt ist, und der Browser auch wiisen muß,
    worauf sich die 100% beziehen sollen (Mutterelement), ...

    Mir war ja schon vorher klar, dass der IE 6 keine
    100% geben würde, aber das es sich gleich in dieser
    Form äussern muss.

    ... wie äußert es sich denn?

    Tschö, Auge

    1. Hallo Auge.

      Ich konnte es lesen!

      Es äussert sich ganz banal :-). Wenn ich die <td> mit
      dem Wort TEST auf height="100%" definiere, geht die
      Spalte nicht über die komplette Höhe des Browsers -
      Und das sollte sie ja, wenn sie eine height="100%"
      hat.

      Du kannst dir den Text ja einfach mal kopieren und
      als HTML-Datei im Browser ansehen.

      Danke schonmal für deine Antwort.

  2. Hallo,
    ich kann leider nicht beurteilen, was der IE6 so anstellt, da ich noch den 5.0 habe.

    Also hier ein banaler Vorschlag:

    <body topmargin="0" marginheight="0">
    <table border="1" cellpadding="0" cellspacing="0" height="100%">
     <tr>
      <td>TEST</td>
     </tr>
    </table>
    </body>

    Ciao
    Chris

    1. Ich hatte bis vor einer Woche auch noch den IE 5.
      Aber jetzt funktioniert es leider nicht mehr.
      Die banale Methode ist dem Browser wohl zu einfach.

      Trotzdem danke für den Hilfe-Versuch :-).

  3. Hallo,

    Mir war ja schon vorher klar, dass der IE 6 keine
    100% geben würde, aber das es sich gleich in dieser
    Form äussern muss.

    Das liegt ausnahmsweise mal nicht am IE, der deine Seite falsch darstellt, sondern daran, dass <td height=""> schlicht und ergreifend verboten ist. Scheinbar hat das Microsoft begriffen und dem IE abgewöhnt, das so darzustellen, wie es der Autor der Seite fälschlicherweise angegeben hat.
    Richtig wäre es, die Höhe mit CSS anzugeben (also <td style="height: 100%">). Allerdings, wie bereits gesagt wurde, bezieht sich die Angabe auf das Mutterelement.
    Alternativ kannst du dem <td>-Element eine ID oder Klasse zuweisen und die Formatierungen in einer separaten Datei angeben.

    HTH

    Grüße aus Darmstadt,
    Benjamin

    1. Hi Benjamin,

      Richtig wäre es, die Höhe mit CSS anzugeben (also <td style="height: 100%">). Allerdings, wie bereits gesagt wurde, bezieht sich die Angabe auf das Mutterelement.

      Das hatte ich mir auch gedacht, da der Befehl "height"
      eigentlich nicht in das Standard-HTML-Vokabular
      gehört, doch auch wenn ich die Angabe mit styles mache,
      reicht die Tabelle nicht über die gesamte Höhe des
      Browsers...

      Sieh es dir mit meinem Beispiel selbst an!

      Danke für dein Interesse.

      Jean

      1. Hallo,

        Sieh es dir mit meinem Beispiel selbst an!

        Ich sehe eine Tabelle, die 100% hoch ist (abgesehen von den Rändern, die man aber mit der CSS-Angabe body,html { margin: 0px; } killt. Dann ist die Tabelle so, wie du sie willst. Vorausgesetzt, du hast ein valides Dokument mit anständigen Doctype-Angaben. Andernfalls kann ich dafür nicht garantieren.

        Danke für dein Interesse.

        Keine Ursache :)

        Grüße aus Darmstadt,
        Benjamin

        1. Ich habe jetzt die Lösung. Beim IE 6 muss man
          ein "body,html {heigth:100%}" angeben.

          Danke nochmals.

          1. Hallo

            Ich habe jetzt die Lösung. Beim IE 6 muss man
            ein "body,html {heigth:100%}" angeben.

            Das war's, was ich mit "Mutterelement" meinte. :-)

            Tschö, Auge

    2. Hallo

      Das liegt ausnahmsweise mal nicht am IE, der deine Seite falsch darstellt,
      sondern daran, dass <td height=""> schlicht und ergreifend verboten ist.

      Das ist "schlicht und ergreifend" falsch.
      http://www.w3.org/TR/html401/struct/tables.html#h-11.2.6
      Dort am Ende der Attribute definitions. Es ist deprecated, aber nicht verboten.

      Tschö, Auge

      1. Hallo Auge,

        http://www.w3.org/TR/html401/struct/tables.html#h-11.2.6
        Dort am Ende der Attribute definitions. Es ist deprecated, aber nicht verboten.

        Hach, wie recht du doch hast. Ich hab vergessen zu erwähnen, dass ich von HTML/XHTML Strict ausgegangen bin. Dort ist es nämlich verboten. :)

        Grüße aus Darmstadt,
        Benjamin

        1. Hallo

          Hach, wie recht du doch hast. Ich hab vergessen zu erwähnen, dass ich von HTML/XHTML Strict ausgegangen bin. Dort ist es nämlich verboten. :)

          Wohl wahr. Da die Tabelle aber keinen Doctypeangabe hat,
          gehe ich vom Naheliegendsten aus (Jean fragte nach einer
          Höhenangabe in HTML), nämlich Transitional.
          Auch wenn Jean dazu keine explizite Angabe gemacht hat.

          Grüße aus dem grauen Berlin,
          Tschö, Auge