Hallo,
Das verstehe ich nun überhaupt nicht. Das float gibt doch nur an wo das Element in bezug auf das ELternelemt angeordnet ist.
Nein. Float gibt an, dass sich das Element in Bezug auf den nachfolgenden Elementfluss _anders_ verhält, als normal. Normalerweise braucht ein DIV 100% der Fensterbreite. Mit float wird es auf die angegebene Breite beschränkt. Die Angaben float:left; bzw. float:right; zeigen an, wo das Element sich zum nachfolgenden Inhalt positionieren soll. Als nachfolgender Inhalt, der um das Element fließt, wird alles das betrachtet, was nicht speziell float oder clear angegeben hat.
Eine Besonderheit bei float ist die Veränderung des containing blocks. Elemente mit float akzeptieren nur Elemente mit ebenfalls explizit angegebenem float als sie umgebende Elemente. Alle anderen Elemente solle sie ja umfließen.
<body style="margin:0; padding:0;">
<div style="width:100%; float:left; border:1px solid black; margin:0; padding:0;">
<a name="a" href="#"><img src="back01.jpg" width="50" height="50" border="0" alt="Bild" style="float:right;"></a>
</div>
</body>
Ja aber diese Version ist auch nicht am oberen Bildschirmrand angeordnet. Sonders sie hat das gleiche Problem, das ich vorher
So, wie es jetzt da steht, schon ;-)). Es darf nur nichts nachfolgen.
Das scheint ein Firefox-Bug zu sein. Was man da oben sieht, ist margin des dem float nachfolgenden Elementes, im Beispiel des
<p style="clear:both;">vs.</p>
Mach daraus ein
<p style="clear:both; margin:0;">vs.</p>
und alles rutscht wieder nach oben.
viele Grüße
Axel