Warum verschiebt <!Doctype html> meine img's?
Wenn ich meine HTML- Seite erstelle, dann passen die Bilder, doch wenn ich <!Doctype html> in meinen Code mit aufnehme, dann verschieben sich alle img-Tags um 5px nach oben.
https://inge-haekelt.de.cool/WorldWideWolle.html
Das ist ein Schulprojekt.
Wenn man <!Doctype html> dazunimmt, dann schieben sich die Produktbilder hoch und es entsteht ein Abstand.
3 Antworten
Das kann aufgrund von Unterschieden im Default-Stylesheet von verschiedenen Doctypes passieren. Ohne Doctype wird das Dokument möglicherweise im Quirks-Modus rendert, was zu inkonsistenten Darstellungen führen kann.
Um das Problem zu beheben, kannst du die "margin" Eigenschaft für die "img" Tags in deinem CSS anpassen.
Ohne Doctype ist das Dokument invalid. Der Browser wechselt in dem Moment in einen anderen Rendermodus und das verursacht bspw. in deinem Fall eine andere Höhenberechnung für die div-Elemente.
Gewöhne es dir an, immer von Anfang an den Doctype zu setzen.
Deine img-Elemente beinhalten jeweils noch einen weiteren Markupfehler. In jedem Fall fehlt das alt-Attribut. Dieser Guide kann dabei helfen, den richtigen Wert für das Attribut zu finden.
Den Abstand zwischen Beschriftungsbox und Bild kannst du entfernen, indem du das Bild vertikal nach unten positionierst.
.haekelfigur img { vertical-align: bottom }
Standardmäßig handelt es sich um ein Inline-Element, welches auf der Schriftlinie positioniert wird.
Es gibt halt kleine aber feine Unterschiede von html4 zu 5.
Schreibe deine Seiten gleich standardkonform in html5, dann hast du solche Probleme gar nicht erst.