Ich habe beispielsweise eine Klasse .article und möchte diese Klasse als Rasteransicht anzeigen. Also habe ich diesen Stil angewendet:
.article{
width:100px;
height:100px;
background:#333;
float:left;
margin:5px;
}
Dieser Stil lässt den Artikel gekachelt / Gitter aussehen. Es funktioniert gut mit fester Höhe. Aber wenn ich die Höhe auf automatisch einstellen möchte (automatisch entsprechend den darin enthaltenen Daten strecken), sieht das Raster böse aus.
Und ich möchte die Ansicht so machen:
Sie können Flexbox verwenden.
Platzieren Sie Ihre Elemente in einem mehrzeiligen Flex-Container
Ordnen Sie die Elemente neu an, sodass die DOM-Reihenfolge horizontal statt vertikal eingehalten wird. Wenn Sie beispielsweise 3 Spalten möchten,
Erzwingen Sie einen Spaltenumbruch vor dem ersten Element jeder Spalte:
Leider unterstützen noch nicht alle Browser Zeilenumbrüche in der Flexbox. Es funktioniert jedoch unter Firefox.
Code-Snippet anzeigen
quelle
Jetzt, da CSS3 über die gängigen Browser weit verbreitet und kompatibel ist, ist es Zeit für eine reine Lösung, die mit dem Snippet-Tool von SO ausgestattet ist:
Für die Erstellung eines Mauerwerkslayouts mit CSS3 würde das
column-count
zusammen mitcolumn-gap
ausreichen. Aber ich habe es auchmedia-queries
immer reaktionsschnell gemacht.Bevor Sie sich mit der Implementierung befassen, sollten Sie berücksichtigen, dass es viel sicherer ist, einen Fallback für die jQuery Masonry-Bibliothek hinzuzufügen, um Ihren Code für ältere Browser, insbesondere IE8-, kompatibel zu machen:
Auf geht's:
quelle
masonry bricks
. Die Spalte ordnet die Dinge von oben nach unten an, die Frage lautete, dass die Reihenfolge horizontal gleich bleiben und nicht vertikal wechseln soll. Zum Beispiel sollte der kürzeste Block, der oben gefunden wurde, in der dritten Spalte, aber in der obersten Zeile stehen.Die beste Option, um dies nur mit CSS zu lösen, ist die Verwendung der CSS-Spaltenanzahl-Eigenschaft.
Überprüfen Sie dies für weitere Informationen: https://developer.mozilla.org/en/docs/Web/CSS/column-count
quelle
beispielsweise:
Dies ist ein Raster mit 7 Spalten und Ihre Zeilen haben eine automatische Größe.
Weitere Informationen erhalten Sie unter folgendem Link: https://css-tricks.com/snippets/css/complete-guide-grid/
quelle
Mit dem CSS-Grid-Modul können Sie ein ziemlich ähnliches Layout erstellen .
CodePen-Demo
1) Stellen Sie drei Rasterspalten mit fester Breite ein
2) Stellen Sie sicher, dass die Artikel mit großer Höhe 2 Reihen umfassen
Code-Snippet anzeigen
Codepen-Demo
Die Probleme:
quelle
und wenn Sie noch weiter als bis zum Mauerwerk gehen möchten, verwenden Sie das Isotop http://isotope.metafizzy.co/. Es ist die erweiterte Version des Mauerwerks (vom selben Autor entwickelt). Es ist kein reines CSS, sondern verwendet die Hilfe von Javascript aber es ist sehr beliebt, so dass Sie viele Dokumente finden
Wenn Sie es sehr kompliziert finden, gibt es viele Premium-Plugins, deren Entwicklung bereits auf Isotopen basiert, zum Beispiel die Media Boxes http://codecanyon.net/item/media-boxes-responsive-jquery-grid/5683020
quelle
Es gibt ein gitterbasiertes Beispiel.
basierend auf diesem Codestift von Rachel Andrew FTW
quelle