Multi: Der IE und seine Eigenheiten

Hi,
ich hab festgestellt, das die Zeile <?xml ... ?> im IE (5, 5.5, 6 und 7) vor dem Doctype (XHTML 1.1) sich auf das Design auswirkt.
CSS wird dabei anders interpretiert.

Hab ich das falsch verstanden und diese Zeile darf gar nicht am Anfang einer XHTML 1.1-Datei stehen?
Bisher hab ich festgestellt, das margin: auto; nicht mehr interpretiert wird.

Ist das ein Bug oder normales Verhalten?

  1. he

    Ist das ein Bug oder normales Verhalten?

    Das ist, in manchen Welten, "normales" Verhalten. Der IE wechselt in den Quirks Mode.

    "Microsoft hat in die Version 6 ihres Internet Explorer diesbezüglich jedoch prompt einen weiteren "Quirk" eingebaut: Bei streng nach den Regeln des W3C gestalteten XHTML-Dokumenten, die in der ersten Zeile die XML-Deklaration mit elementaren Angaben zum verwendeten Zeichensatz enthalten sollen, erkennt der Browser deren Dokumenttypdefinition nicht an, weil er sie nicht in der ersten Zeile findet, wo XML-konform aber eben die XML-Deklaration angesiedelt sein muss."

    gruß bascombe

  2. Moin,

    Hi,
    ich hab festgestellt, das die Zeile <?xml ... ?> im IE (5, 5.5, 6 und 7) vor dem Doctype (XHTML 1.1) sich auf das Design auswirkt.
    CSS wird dabei anders interpretiert.

    Diese Zeile - vom XML-Standard her vollkommen korrekt - schickt den IE in den Kompatibilitätsmodus auch als Quirks-Modus bekannt. In diesem verhält er sich ähnlich wie ein IE4...

    Das ist ein bekannter Bug im IE.

    Gruß

    Stareagle

  3. Hallo,

    Ist das ein Bug oder normales Verhalten?

    Normales Verhalten: Der DOCTYPE-Switch und seine Auswirkungen (Notwendiges *Grundwissen* für die Arbeit mit HTML und CSS).

    Hab ich das falsch verstanden und diese Zeile darf gar nicht am Anfang einer XHTML 1.1-Datei stehen?

    Du solltest ganz auf XHTML 1.1 verzichten. Wenn XHTML, dann 1.0.

    Denn in XHTML 1.1 ist z.B. das wichtige lang-Attribut nicht mehr erlaubt. Dieses ist jedoch wichtig, weil xml:lang nicht von jeder Software verstanden wird.

    Gruß

  4. Hi,

    ich hab festgestellt, das die Zeile <?xml ... ?> im IE (5, 5.5, 6 und 7) vor dem Doctype (XHTML 1.1) sich auf das Design auswirkt.

    Im IE7 nicht mehr.

    Hab ich das falsch verstanden und diese Zeile darf gar nicht am Anfang einer XHTML 1.1-Datei stehen?

    Diese Angabe ist bei XHTML 1.1 Pflicht. Genauso wie die (für den IE erforderliche) Auslieferung als text/html nicht mehr zulässig ist - was Du aber offensichtlich nicht beachtet hast.

    freundliche Grüße
    Ingo

    1. Hallo,

      Diese Angabe ist bei XHTML 1.1 Pflicht.

      Wenn ich mich grad nicht täusche ist die XML-Deklaration allgemein keine Pflicht.

      Aber für XHTML-Dokumente gilt dennoch, dass die Pflicht ist, *wenn* eine andere Zeichenkodierung als utf-8 bzw. utf-16 verwendet wird.

      Gruß

      1. Hallo Daniel,

        Wenn ich mich grad nicht täusche ist die XML-Deklaration allgemein keine Pflicht.

        du täuscht dich nicht.

        Aber für XHTML-Dokumente gilt dennoch, dass die Pflicht ist, *wenn* eine andere Zeichenkodierung als utf-8 bzw. utf-16 verwendet wird.

        Auch das gilt nicht nur für XHTML-Dokumente, sondern allgemein für XML.

        Gruß Uwe

        1. Hallo,

          du täuscht dich nicht.
          Auch das gilt nicht nur für XHTML-Dokumente, sondern allgemein für XML.

          Ah, gut zu wissen, danke.

          Gruß

        2. Hi,

          Wenn ich mich grad nicht täusche ist die XML-Deklaration allgemein keine Pflicht.

          du täuscht dich nicht.

          ich habe gerade nochmal nachgesehen. Kann es sein, dass die das irgendwann mal geändert haben? In http://www.w3.org/TR/xhtml11/conformance.html#s_conform finde ich jetzt nur noch:
          "XHTML document authors are strongly encouraged to use XML declarations in all their documents."

          freundliche Grüße
          Ingo

          1. Hallo Ingo,

            Kann es sein, dass die das irgendwann mal geändert haben?

            Nein. XHTML basiert auf XML, entscheidend ist also was die XML-Spezifikation dazu sagt.

            Die XML-Regel 22 besagt, ...

            prolog ::=   XMLDecl? Misc* (doctypedecl  Misc*)?

            ... dass die XML-Deklaration einmal oder keinmal vorkommen darf »XMLDecl?«. Erkennbar ist das an dem Fragezeichen, die Bedeutung kennst du vielleicht von Regulären Ausdrücken.

            Notwendig ist sie wirklich nur, wenn eine andere als die XML 1.0 Version oder eine andere Zeichenkodierung als UTF-8 oder UTF-16 vorliegt.

            Was ja auf der von dir verlinkten Seite letztendlich auch gesagt wird. Es wird empfohlen aber es ist keine Pflicht.

            "XHTML document authors are strongly encouraged to use XML declarations in all their documents. Such a declaration is required when the character encoding of the document is other than the default UTF-8 or UTF-16."

            Gruß Uwe