2016-08-09 160 views
0

ich auf einer Produktseite Layout arbeite, die zwei Spalten mit verschiedenen Höhen Elemente hat. Ich versuche zu vermeiden, die Elemente in zwei Säulenbehälter zu verschachteln, so dass ich die optimale Reihenfolge der Elemente auf kleinen Bildschirmen haben kann, die zu einer Spalte gehören.Beseitigung toter Raum in Mauerwerk artigen Schwimmer Layout

Das Problem I in leite ist, dass manchmal der zweite Block (schwamm links) länger ist als der erste Block (schwamm rechts), und manchmal ist das Gegenteil wahr. Das Problem tritt auf, wenn der dritte Block clear: left gegeben wird, um sicherzustellen, es ist so weit rechts wie es gehen kann, der vierte Block nicht über die Höhe des dritten Blocks gehen.

floated layout with gap

Hier ist ein CodePen mit dem Code: http://codepen.io/anon/pen/jAQdEK?editors=1100#anon-login

+0

Verwandte - http://stackoverflow.com/questions/8470070/how-to-create-grid-tile-view-with-css –

+0

Dies ist möglich mit Flexbox aber im Allgemeinen, es erfordert eine bekannte Höhe des Behälters. –

Antwort

0

Was Sie wollen, mir sieht aus wie eine Layout-Tabelle zu tun. Mit display Typen table, table-row und table-cell könnte eine einfache und solide Lösung für das sein. Siehe:

http://codepen.io/wortwart/pen/grQqzv

+0

Nicht genau was ich suche. Ich würde die Blöcke wie nur als Inhalt in ihnen so groß zu sein, anstatt die Höhe des höher Blockes wie in Ihrem Beispiel neben ihnen zu teilen. –

+0

Entschuldigung, ich habe Ihre Anforderungen falsch gelesen. Vielleicht ist flexbox das Richtige für Ihr Problem, wenn Sie IE <= 9 ignorieren können. – wortwart