Markus: <h[1-6]>

Hallo!
Bin wegen einer Angabe in SelfHTML leicht verwirrt:
In http://www.selfhtml.teamone.de/html/text/anzeige/h1_6.htm stehen die <h>-Elemente einsam im <body>-Tag, auch der Validator nimmt die Seite an.
Doch im Validator gibt es folgende Fehlermeldung bei meiner Seite:
"document type does not allow element "H2" here; missing one of "APPLET", "OBJECT", "MAP", "IFRAME", "BUTTON" start-tag"
Auch in der Elementreferenz steht, dass das <h>-Element nur in einer Reihe von anderen Tags erlaubt ist.

Was stimmt denn nun?
Markus

  1. Hallo Markus,

    Doch im Validator gibt es folgende Fehlermeldung bei meiner Seite:
    "document type does not allow element "H2" here; missing one of "APPLET",
    "OBJECT", "MAP", "IFRAME", "BUTTON" start-tag"

    Ohne den Quellcode Deiner Seite zu kennen, vermute ich, dass Du vor oder
    um das h2-Element ein sogenanntes Inline-Element hast. Dies sind recht
    grob gesagt, Elemente, die keinen Absatz für sich bilden, sondern mitten
    im Text vorkommen. Also so etwas, wie <b>, <span>, <font>, <em>...

    Auch in der Elementreferenz steht, dass das <h>-Element nur in einer Reihe
    von anderen Tags erlaubt ist. Was stimmt denn nun?

    Beides. Denn wenn Du in der Elementreferenz genau hinschaust, siehst Du
    unter den aufgeführten Elementen auch das Element <body>. Weil laut dem
    HTML Standard <body> nur Block-Elemente enthalten darf und die hX-Elemente
    sind solche. Weswegen ich auch obige Vermutung aufstelle, Inline-Elemente
    dürfen nämlich keine Block-Elemente enthalten. Lies dir dazu noch mal
    den Abschnitt vor der Elementreferenz durch, das erhellt vielleicht etwas:
    http://selfhtml.teamone.de/html/referenz/elemente.htm#block_elemente

    Tim