-
Proposal sedang berjalan untuk menambahkan layout Masonry pada CSS Grid ke CSS Grid Level 3
- Layout Masonry adalah pola yang mengisi konten dengan rapat seperti susunan bata atau gaya air terjun, sehingga konten dengan ukuran berbeda dapat ditempatkan tanpa dipotong atau dihilangkan, sambil mengalirkan isi per kolom
- Ini adalah layout yang selama ini sulit diwujudkan hanya dengan CSS tanpa JavaScript
-
Mereka membuat 4 demo untuk mengimplementasikan mekanisme Masonry di CSS
- Membuat layout Masonry/gaya air terjun klasik
- Memanfaatkan berbagai fitur definisi kolom pada Grid
- Memanfaatkan fitur penggabungan kolom pada Grid
- Menggunakan Subgrid dan penempatan eksplisit
-
Menggabungkan berbagai fitur Grid dan Masonry memungkinkan implementasi layout yang jauh lebih kreatif dan dinamis
- Mendefinisikan ukuran kolom yang fleksibel dan beragam dengan satuan
fr,max-content,min-content, fungsiminmax(), dan lainnya - Menonjolkan item tertentu atau menyusun grid yang lebih berwarna dengan penggabungan kolom
- Menyelaraskan track nested grid dengan induknya menggunakan Subgrid
- Menentukan posisi item tertentu seperti header dengan penempatan eksplisit
- Mendefinisikan ukuran kolom yang fleksibel dan beragam dengan satuan
-
Ada juga pendapat bahwa layout Masonry harus dipisahkan sebagai tipe
displaytersendiri- Ada kekhawatiran bahwa menggabungkan CSS Grid dan Masonry akan meningkatkan kompleksitas dan berdampak negatif pada performa
- Jika Masonry dipisahkan dari Grid, masing-masing fitur dapat berkembang secara mandiri
- Namun ada juga pendapat agar Masonry hanya diimplementasikan sebagai layout kolom dengan ukuran seragam yang terbatas
-
Penulis menilai memasukkan fitur Masonry ke CSS Grid memiliki lebih banyak keunggulan
- Spesifikasi CSS Grid Level 3 sudah ditulis dan telah diimplementasikan pada 2 mesin browser
- Ke depan, fitur baru yang sama dapat disediakan untuk Grid dan Masonry sekaligus (misalnya: styling track)
- Masonry juga merupakan salah satu jenis Grid, sehingga secara konseptual sangat cocok
-
Ingin mendengar pendapat para web designer dan developer
- Haruskah Masonry menjadi bagian dari CSS Grid?
- Apakah Anda ingin bisa memanfaatkan semua fitur Grid seperti definisi ukuran kolom yang beragam, penggabungan kolom, penempatan, Subgrid, dan lain-lain? Atau lebih baik hanya mendukung kolom berukuran sama?
- Bagaimana Anda akan menggunakan fitur ini? Layout seperti apa yang bisa dibuat?
- Jika ada demo buatan sendiri, mohon dibagikan
- Apakah ada layout yang sulit diimplementasikan dengan model ini?
-
Nama Masonry mungkin kurang tepat. Sintaks seperti
grid-template-rows: offpatut dipertimbangkan untuk menyampaikan makna menghilangkan baris. Harap diingat bahwa namanya dapat berubah di masa depan
Opini GN⁺
- Menambahkan fitur Masonry ke CSS Grid tampak sebagai perubahan bermakna yang dapat sangat meningkatkan daya ekspresi layout web. Terutama menarik karena grid berbasis kolom yang hanya mengalir ke arah kolom akan menjadi jauh lebih mudah diimplementasikan
- Di sisi lain, sulit untuk setuju dengan pendapat bahwa Masonry harus dipisahkan sebagai tipe
displaytersendiri dan fiturnya dibatasi. Justru ketika digabungkan dengan fitur-fitur kuat Grid, cakupan pemanfaatan layout Masonry tampaknya akan menjadi jauh lebih luas - Namun nama Masonry memang kurang intuitif dan bisa menimbulkan kebingungan, sehingga ada baiknya mempertimbangkan nama lain yang menunjukkan grid khusus kolom. Sintaks seperti
grid-template-rows: nonetampaknya lebih baik karena menyampaikan arti "grid tanpa baris" dengan lebih jelas - Proposal ini diharapkan dapat menjadikan CSS Grid alat yang lebih kuat lagi. Penting untuk bereksperimen dengan berbagai contoh layout dan secara aktif menyampaikan pendapat
1 komentar
Komentar Hacker News
Ringkasan:
break-inside: avoiddisplay:inline-blockuntuk memperlakukan foto seperti teks agar melakukan reflow ke baris baru