roze84: HTML-Variante "strict" (Anzeigefehler im IE)

Hallo!

Habe beim Programmieren meiner HP nur HTML-Elemente und HTML-Attribute verwendet,
die in der strict-Variante auch erlaubt sind, den Rest hab ich mit CSS gemacht.
Ich habe allerdings zu Beginn meiner Arbeit die folgende Notation vergessen:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

Als ich die Notation dann eingefügt habe, wurde die Tabelle, in der das Layout eingearbeitet ist,
vom Internet Explorer verzerrt dargestellt, ich habe keine Ahnung warum.

Homepage ohne Aufruf: http://mitglied.lycos.de/roze84/hp1.html
Homepage mit Aufruf: http://mitglied.lycos.de/roze84/hp2.html

und hier noch der Quelltext der Tabelle:

<htlm>

<head>
  <title>TEST</title>
</head>

<body>
    <table style="table-layout:fixed; border-width:0px; border-collapse:collapse">
      <tr>
        <td style="width:10px; height:10px"></td>
        <td style="width:150px; height:10px"></td>
        <td style="width:10px; height:10px"></td>
        <td style="width:650px; height:10px"></td>
        <td style="width:10px; height:10px; text-align:center; background-image:url(images/interface/c-t-r.gif)"></td>
      </tr>
      <tr>
        <td style="width:10px; height:150px"></td>
        <td style="width:150px; height:150px; text-align:center; vertical-align:middle"></td>
        <td style="width:10px; height:150px"></td>
        <td style="width:650px; height:150px; text-align:center"></td>
        <td style="width:10px; height:150px; text-align:center; background-image:url(images/interface/m-r.gif)"></td>
      </tr>
      <tr>
        <td style="width:10px; height:10px"></td>
        <td style="width:150px; height:10px"></td>
        <td style="width:10px; height:10px; text-align:center; background-image:url(images/interface/c-b-m.gif)"></td>
        <td style="width:650px; height:10px; text-align:center; background-image:url(images/interface/b-m.gif)"></td>
        <td style="width:10px; height:10px; text-align:center; background-image:url(images/interface/c-b-r.gif)"></td>
      </tr>
      <tr>
        <td style="width:10px; height:20px"></td>
        <td style="width:150px; height:20px"></td>
        <td style="width:10px; height:20px; text-align:center; background-image:url(images/interface/m-r.gif)"></td>
        <td style="width:650px; height:20px; background-color:#C0C0C0"></td>
        <td style="width:10px; height:20px"></td>
      </tr>
      <tr>
        <td style="width:10px; height:300px"></td>
        <td style="width:150px; height:300px; text-align:right; vertical-align:top; padding-right:10px"></td>
        <td style="width:10px; height:300px; text-align:center; background-image:url(images/interface/m-r.gif)"></td>
        <td style="width:650px; height:300px; text-align:center; vertical-align:top; padding-right:10px; background-color:#C0C0C0">
        </td>
        <td style="width:10px; height:300px"></td>
      </tr>
      <tr>
        <td style="width:10px; height:10px; text-align:center; background-image:url(images/interface/c-b-l.gif)"></td>
        <td style="width:150px; height:10px; text-align:center; background-image:url(images/interface/b-m.gif)"></td>
        <td style="width:10px; height:10px; text-align:center; background-image:url(images/interface/c-b-r.gif)"></td>
        <td style="width:650px; height:10px"></td>
        <td style="width:10px; height:10px"></td>
      </tr>
    </table>
</body>

</html>

Ich hoffe jemand kann mir helfen

roze84

  1. Hi roze84

    Habe beim Programmieren meiner HP nur HTML-Elemente und HTML-Attribute verwendet,

    Programmieren in HTML? ;-)

    die in der strict-Variante auch erlaubt sind, den Rest hab ich mit CSS gemacht.
    Ich habe allerdings zu Beginn meiner Arbeit die folgende Notation vergessen:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

    Das ist nicht richtig: Für Strict muss es heißen: "-//W3C//DTD HTML 4.01 Strict//EN"

    Als ich die Notation dann eingefügt habe, wurde die Tabelle, in der das Layout eingearbeitet ist,
    vom Internet Explorer verzerrt dargestellt, ich habe keine Ahnung warum.

    Dieses Phänomen nennt sich Doctypeswitch[1]. Wenn !DOCTYPE nicht richtig angegeben ist schaltet der IE in den sogenannte "Quirks"-Modus, in dem er die Darstellungsfehler vorheriger Versionen beibehält. Wenn du eine korrekte Angabe machst verwendet er den "Standard-Compliants"-Modus, in dem er versucht sich so gut wie möglich anden Standard zu halten. Diese Phänomen tritt übrgiens auch bei anderen Browsern auf.

    Schöne Grüße

    Johannes

    [1] Unter http://gutfeldt.ch/matthias/articles/doctypeswitch/table.html Findest du eine Übersicht, nach welchen Regeln die verschiedenen Browser den Darstellungsmodus wechseln.

    --
    ss:| zu:) ls:[ fo:) de:] va:) ch:] sh:( n4:& rl:( br:^ js:| ie:{ fl:( mo:|
    Selfcode bei http://emmanuel.dammerer.at/selfcode.html
    1. Hallo Johannes

      Dieses Phänomen nennt sich Doctypeswitch[1]. Wenn !DOCTYPE nicht richtig angegeben ist schaltet der IE in den sogenannte "Quirks"-Modus, in dem er die Darstellungsfehler vorheriger Versionen beibehält. Wenn du eine korrekte Angabe machst verwendet er den "Standard-Compliants"-Modus, in dem er versucht sich so gut wie möglich anden Standard zu halten. Diese Phänomen tritt übrgiens auch bei anderen Browsern auf.

      Vielen Dank für deine Antwort, jetzt weiß ich wenigstens wie diese Darstellungsfehler zustande kommen.

      Jetzt muss ich nur noch heraus bekommen, wie ich es löse. Hatte nämlich vor die "strict"-Variante zu verwenden,
      aber da die Seite nur im "Quirks"-Modus richtig dargestellt wird, werd ich das wohl wieder vergessen.

      Naja, nochmals danke

      gruß roze84

      1. Nochmal Hallo!

        Hab eine Lösung gefunden:

        im <table>-Element einfach das Attribut cellpadding auf 0 setzen,
        dann wird die Tabelle im "Standard-Complaints"-Modus richtig dargestellt.

        gruß roze84

    2. Hallo Johannes,

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

      Das ist nicht richtig: Für Strict muss es heißen: "-//W3C//DTD HTML 4.01 Strict//EN"

      Schau Dir mal http://www.w3.org/TR/html401/sgml/dtd.html an. (Unter "Typical Usage")

      Die vorige Variante war korrekt, die Deinige ist es NICHT.

      Viele Grüße,
      Christian

      --
      Ich bin ein Bandbreitenverschwender. Meine Signatur tut mir leid. Ehrlich!
      1. Hi Christian

        Schau Dir mal http://www.w3.org/TR/html401/sgml/dtd.html an. (Unter "Typical Usage")

        Uups. Irgendwie hab ich das immer und überall übersehen. Tja man lernt eben immer wieder was neues ;-)

        Schöne Grüße

        Johannes

        --
        ss:| zu:) ls:[ fo:) de:] va:) ch:] sh:( n4:& rl:( br:^ js:| ie:{ fl:( mo:|
        Selfcode bei http://emmanuel.dammerer.at/selfcode.html
        1. Hallo Johannes,

          <pssst>

          Uups. Irgendwie hab ich das immer und überall übersehen.

          Ich habe das ehrlich gesagt auch lange _genauso_ falsch gemacht - bis ichs dann nochmal in SELFHTML nachgelesen habe...

          </pssst>

          Viele Grüße,
          Christian

          --
          Ich bin ein Bandbreitenverschwender. Meine Signatur tut mir leid. Ehrlich!
  2. Hi roze!

    und hier noch der Quelltext der Tabelle:

    <htlm> [...]

    Ui. Soweit ich weiß, heißt es html

    Tschüss!

    --
    "Vielleicht bin ich auch wirklich nur ein kleiner Quellenkorinthenkacker" Kästermann