• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

float bei XHTML anders?

freakXHTML

Mitglied
Hallo zusammen,
ich habe gerade ein merkwürdiges Phänomen mit float, das ich nicht verstehe. Wenn ich keinen doctype angebe und in eine html Datei folgendes schreibe, dann wird alles so angezeigt, wie ich es erwarte:

HTML:
<div style="border:1px solid black; width:200px; height:200px;">
 <div style="border:1px solid black; width:50px; height:200px; float:left;"></div>
 <div style="border:1px solid red; height:200px; "></div>
</div>

Mir geht es um das float. Das letzte <div> ist nun rechts vom zweiten (dem mit 50px Breite) angeordnet. Ich habe durch die Rahmen die Grenzen markiert. Das rechte div fängt auch erst an, wenn das links liegende endet. Das sieht man auf diesem Screenshot:
bla.png

Wenn das jedoch mit einem XHTML 1 Strict Doctype mache, dann liegt der <div> Container zwar auch rechts neben dem anderen, doch er fängt nicht da an, wo der andere aufhört, sondern auch ganz links. Warum? Das sieht dann so aus:

http://img156.imageshack.us/img156/3971/asdvg.png

Damit die beiden div wirklich nebeneinander liegen, muss ich das rechte zusätzlich mit margin rüberschieben. Ist das normal? Warum ist das so? Ich dachte, dass dafür float da ist.

Vielen Dank
lg, freakXHTML
 
Werbung:
Warum? Weil es mit Doctype nach allgemein anerkannten, in allen Browsern (größtenteils) einheitlichen und üblichen Regeln angezeigt wird. Ohne Doctype versetzt Du den Browser in den schwer kontrollierbaren Quirksmode, weshalb die Seite von jedem Browser nahezu beliebig angezeigt wird.

In deinem Fall solltest Du also dringend überdenken wieso es mit Doctype falsch aussieht - denn dann ist wirklich etwas faul dran. Und warum das so ist? Das nicht floatende Element hat keine Breite.
 
Zurück
Oben