Thomas: DocType verändert Formatierung des Layouts?

Hallo zusammen,

habe gerade auf einer Seite folgenden Doctype vor den <HTML> Tag eingefügt, weil ich ein generiertes Dropdown-Menü einbinden möchte:

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

Zuvor hatte ich gar keinen Doctype definiert und musste jetzt vorstellen, dass einige DIV Elemente sich offebar seit dieser Änderung in der Positionierung leicht nach oben verschoben haben. Kann das sein? Woran liegt das und wie kann ich das am schnellsten wieder ausgleichen?

Danke,
TOM

  1. Woran liegt das und wie kann ich das am schnellsten wieder ausgleichen?

    Am http://de.selfhtml.org/css/formate/box_modell.htm@title=Box-Modell-Bug und das willst du nicht.

    Roland

    --
    Top Fives // »Schlechte Werbung. Gibt es nicht.« // mitmachen
  2. @@Thomas:

    habe gerade auf einer Seite folgenden Doctype vor den <HTML> Tag eingefügt, weil ich ein generiertes Dropdown-Menü einbinden möchte:

    Das ist Quatsch. Man fügt keine Doctype-Angabe ein, um irgendwas einzubinden.*

    Die Doctype-Angabe gibt die Sprache (Sprachvariante) an, nach deren Regeln man das Dokument erstellt hat.

    Du solltest nicht einfach irgendwo "XHTML 1.0 Strict" draufschreiben, wo kein XHTML 1.0 Strict drin ist.

    Ob ein HTML-Dokument den Regeln der Sprache (Sprachvariante) entspricht, verrät der Validator.

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


    Der public identifier (URI) ist falsch.

    Zuvor hatte ich gar keinen Doctype definiert und musste jetzt vorstellen, dass einige DIV Elemente sich offebar seit dieser Änderung in der Positionierung leicht nach oben verschoben haben. Kann das sein?

    Ja. Ohne Doctype-Angabe schalten Browser in den Quirks-Mode. [Jendryschik]

    Diesen solltest du vermeiden.

    Live long and prosper,
    Gunnar

    * sowas war wohl nicht gemeint

    --
    „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
    1. Das ist Quatsch. Man fügt keine Doctype-Angabe ein, um irgendwas einzubinden.*

      Die Doctype-Angabe gibt die Sprache (Sprachvariante) an, nach deren Regeln man das Dokument erstellt hat.

      Du solltest nicht einfach irgendwo "XHTML 1.0 Strict" draufschreiben, wo kein XHTML 1.0 Strict drin ist.

      Hm, ich hatte zumindest bei mir das Problem, die folgende Navigationsleiste mit CSS basierten Untermenüs in meine bestehende Seite einbinden zu wollen:

      http://www.gamepals.de/navmenu.html@Menütest

      Bei meiner Fehlersuche ist mir dann halt aufgefallen, dass die Generierung der Untermenüs nicht mehr funktioniert, wenn ich die Doctype Angabe aus dem Kopf entfernt habe

      [code:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml2/DTD/xhtml1-strict.dtd">]

      Deshalb bin ich halt davon ausgegangen, dass die Doctype Zeile dafür "zuständig" war.