Hans Watzinger (Aquariophile): Der Validator wiederspricht sich selbst

Hi!

Habe gerade mit dem Validator etwas herumgespielt...

Wenn ich ein Bild direkt unter <body> einbinden will schreit er:

Line 36, column 29: document type does not allow element "IMG" here; missing one of "P", "H1", "H2", "H3", "H4", "H5", "H6", "DIV", "ADDRESS" start-tag

<img src="foo.gif" alt="Bild">

------------

Das akzeptiere ich....

Der hat bei den Erlaubten Tags _nicht_ den Tag <TD> aufgezaehlt.

Wieso schreit er dann NICHT auf wenn ich das so mache:

<table>
<tr>
<td>
<img src="foo.gif" alt="Bild">
</td>
</tr>
</table>

Bei dieser Variante schweigt der Validator und sagt das HTML 4.01 strict sei OK.

Aber vorher erklaert er mir Bilder dürfen nur in
"P", "H1", "H2", "H3", "H4", "H5", "H6", "DIV", "ADDRESS"
stehen.

Was soll ich nun glauben?

PS.: EXAKT das selbe Problem auch mit <span>

würde wahrscheinlich nicht schaden zur vorsicht in <TD>
pro zeile dennoch ein <div> zu legen oder wie?

Danke!

Liebe Grüsse,
Hans Watzinger

  1. Hi,
    Wenn überhaupt, würde er sich widersprechen, nicht wiedersprechen.

    Aber vorher erklaert er mir Bilder dürfen nur in
    "P", "H1", "H2", "H3", "H4", "H5", "H6", "DIV", "ADDRESS"
    stehen.

    Nein. Er hat die Elemente aufgezählt, die direkt in body vorkommen dürfen und ein Bild direkt enthalten dürfen. Nicht mehr und nicht weniger. Weitere Schachtelungen sind durchaus erlaubt, werden hier aber nicht aufgeführt.

    Daß img auch an anderen Stellen erlaubt ist, tut nichts zur Sache. Dazu müßten aber auch die entsprechenden Elemente an dieser Stelle geöffnet sein.

    würde wahrscheinlich nicht schaden zur vorsicht in <TD>
    pro zeile dennoch ein <div> zu legen oder wie?

    Unsinn. td darf %flow; enthalten, also sowohl inline- als auch block-Elemente. Ein div ist also nicht erforderlich.

    cu,
    Andreas

    --
    Der Optimist: Das Glas  ist halbvoll.  - Der Pessimist: Das Glas ist halbleer. - Der Ingenieur: Das Glas ist doppelt so groß wie nötig.