Was genau meinst du mit bzgl. seinem Rand passend ausrichten?
Vielleicht hat ja jemand ne Idee, ich beschreib mal was es sein soll.
Es geht um ein Gästebuch. Am linken Rand ein div mit ein paar Informationen, relativ hoch aber nicht sehr breit. Dieses div ist mit float:left versehen. Rechts daneben und unter den Infos stehen untereinander die ganzen Einträge, jeweils einer pro div.
Das sieht so aus
| H | | Eintrag 1 |
| i | | Eintrag 1 |
| e | | Eintrag 1 |
| r |
| | | Eintrag 2 |
| I | | Eintrag 2 |
| n | | Eintrag 2 |
| f |
| o | | Eintrag 3 |
| s | | Eintrag 3 |
| Eintrag 4 . . . . |
| Eintrag 4 . . . . |
| Eintrag 4 . . . . |
| Eintrag 5 . . . . |
| Eintrag 5 . . . . |
| Eintrag 5 . . . . |
Die Einträge haben einen Hintergrund (pro div), daher dürfen diese divs sich nicht über die ganze Breite des Fensters erstrecken. Ohne overflow:auto machen die das leider, sie gehen also nach links durch die Infos durch. Der Text bleibt dabei schon rechts vom Infoblock, aber man sieht halt trotzdem deutlich dass die eigentliche Box sich nicht um die Infobox kümmert.
Von hier habe ich gelernt, dass ich einen neuen "block formatting context" erzeugen muss, um diesen Effekt zu verhindern. Von den hier (9.4.1) beschriebenen Angaben passt da leider nur das mit dem Overflow. Die anderen Angaben verhindern wieder dass meine Einträge die ganze zur Verfügung stehende Breite einnehmen.
Auf overflow:hidden verzichten, wenn du dessen primäre Auswirkung nicht haben willst.
Mir ist schon klar dass ich damit das eigentlich von mir gewünschte Verhalten abstelle.
Wenn da jemand ne andere Idee hat, bin dankbar für einen Tip.