'n Abend!
Ich versuche gerade eine Seite zu entwerfen, auf der dynamisch verschiedene Artikel angezeigt werden sollen. Jeder Artikel soll in einem eigenen Rahmen (div) erscheinen. Das Layout soll mehrspaltig sein, sofern die Fensterbreite dies zuläßt. Die Anzahl der Spalten soll sich dynamisch nach der Größe des Browserfensters richten.
Solange alle Artikel gleich hoch sind, funktioniert dies prinzipiell schon ganz gut durch Verwendung von float:left und einer fixen Breite für alle Artikel. Die Artikel werden von links nach rechts angeordnet und sobald ein Artikel nicht mehr in eine Zeile passt, landet er in der nächsten.
Das Problem ist nur, daß die Artikel unterschiedlich hoch sein können. Wenn der erste Artikel recht kurz ist, darauf ein längerer folgt und dann einer kommt, der nicht mehr in die Zeile passt, erscheint dieser unterhalb des zweiten, d.h. mit vertikalem Abstand zu dem in der selben Spalte direkt darüber befindlichen ersten Artikel.
Schlimmer wird es noch wenn ein dritter Artikel in der ersten Zeile Platz hat, der aber wiederum kürzer als der vorherige ist. Der Artikel, der dann darauf folgt landet nämlich nicht am Anfang der nächsten Zeile, sondern bleibt in der dritten Spalte "hängen", so daß links unten riesige Lücken entstehen.
Läßt es sich irgendwie realisieren, daß die Artikel von links nach rechts angeordnet werden, nach einem Zeilenumbruch aber immer wieder ganz links angefangen wird anstatt das DIV nur soweit nach links zu rücken, wie gerade möglich? Im Idealfall sollten sie dort dann auch wieder "bis zum Anschlag" nach oben gerückt werden.
Danke,
Oliver