Hallo Johannes,
Bei der ersten Variante hast du vor und nachdem IMG-Tag noch ein Leerzeichen, welches auch ausgegeben wird.
Nein, Zeilenumbrüche direkt nach einem Start-Tag und direkt vor einem End-Tag müssen ignoriert werden. Es werden daher keine Leerzeichen ausgegeben (im Sinne von Darstellung eines Zeichens auf dem Bildschirm, selbst im IE nicht ;-)). Siehe http://www.w3.org/TR/html401/appendix/notes.html#notes-line-breaks.
Allerdings hat der Internet Explorer einen Bug, weshalb die beiden Codes hier tatsächlich unterschiedlich interpretiert werden (zumindest bis IE 6, keine Ahnung, wie es im IE 7 aussieht).
Natürlich sollte man versuchen, seinen Quelltext möglich übersichtlich zu gestalt, manchmal muss man aber doch Rücksicht auf die Darstellung im Browser nehmen.
... weshalb dieser Satz nun indirekt wieder wahr ist.
<td>
<img... />
</td>
Bei dieser Schreibweise liegt im IE das Bild auf der Basislinie für inline-Inhalte. Zwischen Basislinie und unterem Rand des Containers entsteht eine kleine Lücke, die für die Unterlängen von Buchstaben vorgesehen ist. Diese Darstellung wäre korrekt.
<td><img... /></td>
Bei dieser Schreibweise fällt im IE die erwähnte Lücke weg, es wäre aber nicht die korrekte Darstellung.
Bei anderen Browsern ist es egal, welche Variante gewählt wird. Hier hängt es vom Darstellungsmodus ab, ob der Browser die falsche (im Quirks oder im Almost Standards Mode) oder die richtige Darstellung (im Full Standards Mode) nimmt.
Viele Grüße
Carsten