tomaten: IE7 and full table height

Hallo, ich mach es kurz, im Firefox läuft das einwandfrei und im IE7 schiesst die Tabelle aus dem Bild. Wo ist da das Problem?:

CSS:

html, body, form
{
    margin: 0px;
    padding: 0px;
    border: none;
    height: 100%;
    overflow: hidden;
}

HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
 <title>Test</title>
 <link rel="stylesheet" type="text/css" href="common.css">
</head>
<body>
 <form>
  <table border="1" style="width: 100%; height: 100%; ">
   <tr style="height: 50px; ">
    <td style="height: 50px; ">test1</td>
   </tr>
   <tr>
    <td>test2</td>
   </tr>
  </table>
 </form>
</body>
</html>

  1. Bzw. ignoriert die oberen Zeilenhöhe. Dieser HTML schiesst aus dem Bild, läuft aber im Firefox:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
     <title>Test</title>
     <link rel="stylesheet" type="text/css" href="common.css">
    </head>
    <body>
     <form>
      <table border="1" style="width: 100%; height: 100%; ">
       <tr style="height: 50px; ">
        <td style="height: 50px; ">test1</td>
       </tr>
       <tr style="width: 100%; height: 100%; ">
        <td style="width: 100%; height: 100%; ">test2</td>
       </tr>
      </table>
     </form>
    </body>
    </html>

    1. Hallo tomaten,

      <table border="1" style="width: 100%; height: 100%; ">
         <tr style="height: 50px; ">
          <td style="height: 50px; ">test1</td>
         </tr>
         <tr style="width: 100%; height: 100%; ">
          <td style="width: 100%; height: 100%; ">test2</td>
         </tr>
        </table>

      Wenn du der zweiten Zeile 100% Höhe bezogen auf das Eleternelement TBODY bzw. das Großelternelement TABLE gibst, musst du dich im IE, wenn dieser sich im standardkompatiblen Modus befindet, nicht wundern, dass sie zusammen mit den 50px Höhe der ersten Zeile nicht mehr ganz ins Browserfenster passt.

      Versetz den IE in den Quirksmodus, dann stellt er es wie die übrigen Browser dar.

      http://www.sprachlernspiele.de/engel/matroschka.html

      Welche Browser sich da jetzt eigentlich an den Standard halten, das ist mir selbst nicht so ganz klar.

      Gruß Gernot

      1. Versetz den IE in den Quirksmodus, dann stellt er es wie die übrigen Browser dar.

        Das hab ich auch schon versucht. Das Ergebniss ist bei einer mehrzeiligen Tabelle gleich :( Das hat im IE6 noch funktioniert, im IE7 nicht mehr :(

        1. Hallo tomaten,

          Versetz den IE in den Quirksmodus, dann stellt er es wie die übrigen Browser dar.

          Das hab ich auch schon versucht. Das Ergebniss ist bei einer mehrzeiligen Tabelle gleich :( Das hat im IE6 noch funktioniert, im IE7 nicht mehr :(

          Dann probier es doch auch mal so wie ich in meinem bereits soeben verlinkten Engel-Dokument mit folgendem DOCTYPE und folgender XML-Deklaration mit in der ersten Zeile anschließendem Conditional-Comment:

          <?xml version="1.0" encoding="ISO-8859-1" ?><!--[if gte IE 7]> <br style="display:none" /> <![endif]-->
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
               "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml">
          ...

          Gruß Gernot

          1. <?xml version="1.0" encoding="ISO-8859-1" ?><!--[if gte IE 7]> <br style="display:none" /> <![endif]-->
            <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
            <html xmlns="http://www.w3.org/1999/xhtml">
            ...

            Das ist schon echt verwirrend, aber funktioniert. Logisch erklären muss man das in diesem Fall nicht und nachdenken darüber würde einen wohl eher in den Wahnsinn treiben.

            Danke nochmal.

            1. Hallo tomaten,

              Das ist schon echt verwirrend, aber funktioniert. Logisch erklären muss man das in diesem Fall nicht und nachdenken darüber würde einen wohl eher in den Wahnsinn treiben.

              Das sehe ich ähnlich ;-)

              Gruß Gernot

              1. Hallo tomaten,

                Das ist schon echt verwirrend, aber funktioniert. Logisch erklären muss man das in diesem Fall nicht und nachdenken darüber würde einen wohl eher in den Wahnsinn treiben.

                Das sehe ich ähnlich ;-)

                Gruß Gernot

                Wenn Du glaubst das würde nun alle meine Problem lösen, hast Du noch nicht mit Serverkomponenten Dritter gearbeitet, auf deren Renderoutput man keinen Einfluss hat. Bin schon an der nächsten Seite, die nun nichts mehr richtig macht. ;) Happy WE!

          2. Hi,

            <?xml version="1.0" encoding="ISO-8859-1" ?><!--[if gte IE 7]> <br style="display:none" /> <![endif]-->

            Der CC und erst recht der enthaltene Tag ist überflüssig. Den IE6 versetzt bereits der xml-Prolog in den quirks mode und der IE7 braucht nur einen einfachen zusätzlichen Kommentar. Ich schreibe da gern <!--IE 7 quirks mode please--> rein. ;-)

            freundliche Grüße
            Ingo

            1. Hallo Ingo,

              Der CC und erst recht der enthaltene Tag ist überflüssig. Den IE6 versetzt bereits der xml-Prolog in den quirks mode und der IE7 braucht nur einen einfachen zusätzlichen Kommentar. Ich schreibe da gern <!--IE 7 quirks mode please--> rein. ;-)

              Gut zu wissen, ich werde das auf meiner Beispielseite entsprechend ändern.

              Gruß Gernot

            2. Hi,

              Der CC und erst recht der enthaltene Tag ist überflüssig. Den IE6 versetzt bereits der xml-Prolog in den quirks mode und der IE7 braucht nur einen einfachen zusätzlichen Kommentar. Ich schreibe da gern <!--IE 7 quirks mode please--> rein. ;-)

              Ist ja echt witzig. :) Dann kann ich mir ja einen "wichtigen" Spruch einfallen lassen :)

            3. Der CC und erst recht der enthaltene Tag ist überflüssig. Den IE6 versetzt bereits der xml-Prolog in den quirks mode und der IE7 braucht nur einen einfachen zusätzlichen Kommentar. Ich schreibe da gern <!--IE 7 quirks mode please--> rein. ;-)

              Wo erfährt man sowas? Finde ich schon ziemlich schräg wenn ein Kommentar die Betriebsart des Browser umschaltet. Das kann zu recht viel Spass bei einer Fehlersuche führen! :-O

              1. Hi,

                Wo erfährt man sowas? Finde ich schon ziemlich schräg wenn ein Kommentar die Betriebsart des Browser umschaltet.

                z.B. hier oder auf meiner neuen Seite http://www.1ngo.de/web/IE7.html, wo ich die (neuen) Bugs zusammenstellen will. Aktuell habe ich zwar noch einige Anzeigefehler gefunden, aber noch nicht deren Ursachen bzw. die Bugs in einem einfachen Beispiel provozieren können. Mir scheint, dass im IE7 allerlei Flickschusterei am IE6 betrieben wurde, aber nicht die Fehlerquellen beseitigt sind. So haben sie dem Parser beigebracht, dass vor dem DOCTYPE ein xml-Prolog stehen darf, aber nicht, dass auch Kommentare erlaubt sind.

                freundliche Grüße
                Ingo