Johannes Zeller: Google Suche (Quellcode) validieren

Beitrag lesen

Hallo Bahamut,

Hängt mir ehrlich gesagt zu hoch. Regulär kann ich soviele Leerzeilen im Quellcode einfügen wie ich lustig bin ohne das es Auswirkungen hat, zumindest solange ich keinen Zeilenumbruch </ br> oder Leerzeile <&nbsp;> schreibe.

Das stimmt so nicht ganz. Leerzeichen sind auch Teil des Inhalts von Elementen, es ist ja auch nicht egal, ob du Wörter imTextdirektaneinanderschreibst oder Leerzeichen dazwischen hast. Lediglich mehrere Leerzeichen werden zu einem zusammengefasst. Oder auch, wenn du mehrere Bilder nebeneinander darstellen willst:

<p><img ... />  
   <img ... />  
   <img ... /></p>

macht jedesmal einen kleinen Zwischenraum zwischen die Bilder, das ist das Leerzeichen, dass als Zeilenumbruch im Quellcode steht.

Vergleiche dazu im Gegensatz
<p><img ... /><img ... /><img ... /></p>

Input ist nun ein leeres Element, d.h. es darf _keinen_ Inhalt haben. In der  HTML-DTD wird das gelöst, indem erlaubt wird, den End-Tag wegzulassen. Da XHTML in XML definiert wurde, wo man solche Dinge nicht regeln kann, muss ein Element in XHTML immer geschlossen werden. Entweder mit einem zweiten schließenden Tag (<input ...></input>) oder im öffnenden Tag selber ([code lang=html]<input />[/code). Bei der zweiten Variante ist das Element automatisch leer (wo sollte da auch der Inhalt stehen?), während man bei der ersten Variante selbst darauf achten muss, dass das Element keinen Inhalt (also auch keine Leerzeichen hat).

<Strict> vs. <Transitional> - Sollte ich mir auch mal durchlesen.

Zumindest für diesen Fall ist der Unterschied irrelevant. Christoph hat sich da lediglich geirrt.

Schöne Grüße,

Johannes