Gunnar Bittersmann: input-elemente in einer Zeile mit variabeler Breite?

Beitrag lesen

problematische Seite

@@Rolf B

ein div zwischen head und body ist auch nicht der Weisheit letzter Schluss.

Im DOM ist kein div zwischen head und body.

Nach </html> ist der Parser im ‘after head’ insertion mode. Das nächste gelesene <div>-Tag fällt unter ‘anything else’, demzufolge wird ein body-Element generiert, in den ‘in body’ insertion mode gewechselt und das aktuelle Token (<div>) nochmals verarbeitet – und damit das div in den eben generierten body gehängt.

Nach dem </div> – der Parser befindet sich im ‘in body’ insertion mode – wird <body> gelesen. Parse error – was soll’s. Es gilt das unter ‘Otherwise’ gesagte: Etwaige im Tag vorhandene Attribute (hier nicht der Fall) werden dem schon bestehenden body-Element hinzugefügt, falls dort noch keine derartigen Attribute gibt. (Es werden also keine schon vorhandenen Werte durch das fehlerhafte <body>-Start-Tag überschrieben.)

Damit generiert das HTML

<html>
	<head></head>
	<div>
		NECK
	</div>
	<body>
		BODY
	</body>
</html>

dasselbe DOM wie:

<html>
	<head></head>
	<body>
		<div>
			NECK
		</div>
		BODY
	</body>
</html>

(Stillschweigend vorausgesetzt, das XHTML 1.0 wird vom HTML-Parser verarbeitet, nicht vom XML-Parser.)

LLAP 🖖

PS: Bei der Recherche bin ich auf dieses Fundstück gestoßen.

--
„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann