Sebagai contoh, saya memiliki beberapa kelas .article, dan saya ingin melihat kelas ini sebagai tampilan kotak. Jadi saya menerapkan gaya ini:
.article{
width:100px;
height:100px;
background:#333;
float:left;
margin:5px;
}
Gaya itu akan membuat .article terlihat ubin / kotak. Ini berfungsi baik dengan ketinggian tetap. Tetapi jika saya ingin mengatur ketinggian ke otomatis (otomatis meregangkan sesuai dengan data di dalamnya), grid terlihat buruk.
Dan saya ingin membuat tampilan seperti ini:
Anda dapat menggunakan flexbox.
Tempatkan elemen Anda dalam wadah fleksibel kolom multiline
Susun ulang elemen, sehingga urutan DOM dihormati secara horizontal, bukan vertikal. Misalnya, jika Anda ingin 3 kolom,
Paksa istirahat kolom sebelum item pertama dari setiap kolom:
Sayangnya, belum semua browser mendukung jeda di flexbox. Ini bekerja pada Firefox.
Tampilkan cuplikan kode
sumber
Sekarang CSS3 tersedia secara luas & kompatibel melalui browser utama, Saatnya untuk solusi murni yang dilengkapi dengan alat cuplikan SO:
Untuk membuat tata letak batu menggunakan CSS3
column-count
dancolumn-gap
cukup. Tapi saya juga terbiasamedia-queries
membuatnya responsif.Sebelum masuk ke implementasi, pertimbangkan bahwa akan jauh lebih aman untuk menambahkan fallback perpustakaan jQuery Masonry untuk membuat kode Anda kompatibel untuk browser lawas, khususnya IE8-:
Kita mulai:
sumber
masonry bricks
. Kolom memerintahkan hal-hal dari atas ke bawah, pertanyaannya adalah meminta agar tetap sama secara horizontal, bukan untuk beralih ke vertikal. Misalnya, blok terpendek yang ditemukan di atas HARUS berada di kolom ketiga tetapi di baris atas.Pilihan terbaik untuk menyelesaikannya dengan hanya css adalah menggunakan properti hitung kolom css.
Periksa ini untuk info lebih lanjut: https://developer.mozilla.org/en/docs/Web/CSS/column-count
sumber
sebagai contoh:
Ini adalah kisi dengan 7 kolom dan baris Anda memiliki ukuran otomatis.
Untuk detail lebih lanjut, akses tautan berikut: https://css-tricks.com/snippets/css/complete-guide-grid/
sumber
Dengan Modul Kotak CSS Anda dapat membuat tata letak yang sangat mirip .
Demo CodePen
1) Setel tiga kolom kotak lebar tetap
2) Pastikan barang dengan rentang tinggi besar 2 baris
Tampilkan cuplikan kode
Demo codepen
Masalah:
sumber
dan jika Anda ingin melangkah lebih jauh dari batu, gunakan isotop http://isotope.metafizzy.co/ ini adalah versi lanjutan dari batu (yang dikembangkan oleh penulis yang sama) itu bukan CSS murni, ia menggunakan bantuan Javascript tetapi sangat populer, jadi Anda akan menemukan banyak dokumen
jika Anda merasa sangat rumit maka sudah ada banyak plugin premium yang mendasarkan pengembangannya pada isotop, misalnya Media Boxes http://codecanyon.net/item/media-boxes-responsive-jquery-grid/5683020
sumber
Ada satu contoh berbasis kisi .
berdasarkan kode-pena ini oleh Rachel Andrew FTW
sumber