Vertikal-stack divs in verschiedenen Spalten css nur
Habe ich divs mit gleicher Breite aber verschiedenen Höhen, sollten Sie Sie in Spalten angezeigt, floating bis zur nächsten div über Ihnen.
Fiddle: http://jsfiddle.net/kaljak/DAYSk/
Is there any way to handle that without placing them via Javascript?
Eine Idee von mir wäre es, die divs für die Spalten und legen die divs in Sie, aber gibt es eine andere Möglichkeit ohne das hinzufügen von mehr markup?
Vielen Dank im Voraus!
- Ich weiß nicht, ob Sie tun können, dass mit css nur. Aber man kann erreichen, dass per js (ich weiß, Sie wollen nicht, es zu benutzen): masonry.desandro.com
- brauchen Sie ein wrapper-div für jede Spalte, die enthält dann die untergeordneten div ' s mit variabler Höhe.
- OP dachte, dass die Lösung bereits; er will nicht extra markup.
- danke Jungs, das war auch die 2 Dinge, die ich dachte, überprüfen Sie heraus die Antwort mit der css-Spalten, die ich nicht über Sie wissen, bevor 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eine weitere mögliche Lösung ist die Verwendung von CSS-Spalten. Wenden Sie die Spalten-Eigenschaft des container -
Dann verwenden
display: inline-block;
auf diediv
s.Beispiel: http://jsfiddle.net/tdwZe/
Siehe auch https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Using_multi-column_layouts
Hinweis: CSS-Spalten werden nicht unterstützt in IE älter als IE10 (http://caniuse.com/#feat=multicolumn).
Können Sie, aber würden Sie brauchen, um die Boxen in übergeordneten Feldern
demo http://jsbin.com/ozazat/3/edit
Zum Beispiel 3 Spalten, die jeweils so viele Felder wie Sie wollen:
HTML
Ja. Sie können absolute Positionen. Vorausgesetzt, Sie kennen die Höhen deines divs. Diese Lösung funktioniert nicht für die dynamischen Inhalte.
Müssen Sie zum zuordnen einer Klasse zu jeder div, die dann die entsprechenden CSS positionieren Sie es richtig.
Etc...
Wenn Sie dynamische Inhalte, kann es besser sein, JavaScript zu verwenden, insbesondere die jQuery Masonry Plugin.
Einen anderen Weg, dies zu tun ist, wie du Sie erwähnt hast, legen deine divs in Spalten.
Sehen diese Frage für mehr details.
Verwenden Sie float:left für jedes div dann für jede ungerade div clear:left. Das wird funktionieren, cross-browser-mit Ausnahme der Verwendung von ungeraden Kind. Sie würden haben, um zusätzliche markup und göttlichen ein, ich würde für, die. Es gibt keinen Weg darum herum, dass man leider