CSS subgrid membuat elemen anak mengikuti jalur grid induknya, sehingga penyelarasan kolom dan baris tetap konsisten tanpa menghitung ulang ukuran. Panduan ini membahas penerapan layout web dengan CSS subgrid dalam tujuh langkah, dari struktur dasar sampai penyesuaian responsif.
1. Pahami Konsep Dasar CSS Subgrid
Subgrid adalah nilai untuk properti grid-template-columns atau grid-template-rows yang menjadikan sebuah grid item sebagai grid container sekaligus mewarisi jalur dari grid induknya. Anda tidak perlu mendefinisikan ulang ukuran kolom di dalam anak karena ia mengikuti grid utama. Nilai ini berguna untuk kartu-kartu di dalam sebuah grid yang harus sejajar rapi.
2. Siapkan Struktur HTML
Mulailah dengan markup sederhana: sebuah kontainer utama berisi beberapa item, dan salah satu item memiliki anak-anak yang perlu disejajarkan.
<div class="grid">
<div class="item">Item 1</div>
<div class="item">
<div class="sub-item">Sub 1</div>
<div class="sub-item">Sub 2</div>
<div class="sub-item">Sub 3</div>
</div>
<div class="item">Item 3</div>
</div>
3. Definisikan Grid Induk
Buat grid induk dengan beberapa kolom. Di sini Anda menentukan jalur grid yang nantinya diwarisi oleh subgrid.
.grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 1rem;
}
Grid ini memiliki tiga kolom sama besar. Item kedua akan dijadikan subgrid agar anak-anaknya mengikuti kolom yang sama.
4. Terapkan Subgrid pada Item Anak
Pada item yang akan menjadi subgrid, atur display: grid dan gunakan grid-template-columns: subgrid. Karena item tersebut berada di dalam grid induk, ia mewarisi tiga kolom.
.item:nth-child(2) {
display: grid;
grid-template-columns: subgrid;
}
Sub-item di dalamnya otomatis tersusun dalam tiga kolom yang sejajar dengan kolom grid induk.
5. Atur Baris Subgrid jika Diperlukan
Anda juga bisa mewarisi baris dengan grid-template-rows: subgrid. Pastikan grid induk memiliki baris yang terdefinisi; tanpa itu, subgrid baris tidak berfungsi sesuai harapan.
.grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: auto auto;
gap: 1rem;
}
.item:nth-child(2) {
display: grid;
grid-template-rows: subgrid;
grid-row: span 2;
}
Contoh ini membuat item kedua membentang dua baris dan mewarisi baris dari grid induk.
6. Sesuaikan dengan Kebutuhan Responsif
Subgrid berguna pada layout responsif. Saat lebar layar berubah, Anda bisa mengubah jumlah kolom grid induk, dan subgrid menyesuaikan tanpa perlu menulis ulang aturan untuk anak-anaknya. Gunakan media query untuk mengubah grid-template-columns pada grid induk.
@media (max-width: 600px) {
.grid {
grid-template-columns: 1fr;
}
}
Pada layar kecil, grid menjadi satu kolom dan subgrid mengikuti satu kolom. Pengelolaan layout jadi lebih sederhana.
7. Uji dan Perbaiki Alignment
Setelah menerapkan subgrid, periksa apakah item anak sejajar dengan baik. Gunakan properti align-items dan justify-items pada grid induk atau subgrid untuk mengatur perataan. Jika ada elemen yang tumpang tindih, periksa z-index atau posisi elemen. Untuk panduan lebih lanjut tentang mengatur z-index, lihat artikel Cara Mengatur Z-Index CSS agar Elemen Tidak Saling Timpa.
Subgrid didukung di browser modern seperti Firefox, Chrome, dan Safari versi terbaru. Jika Anda perlu mendukung browser lama, gunakan fallback dengan grid biasa atau flexbox. Dasar-dasar layout bisa dipelajari di 7 Langkah Layout Web dengan CSS Grid dan Flexbox untuk Pemula.
Untuk menguji performa jaringan saat development, Anda bisa menggunakan alat ping. Simak 7 Cara Uji Ping Stabil untuk Diagnosa Jaringan.
Jika Anda juga mengembangkan aplikasi Android, pemahaman izin aplikasi perlu diperhatikan. Baca Cara Cek Izin Aplikasi di Android: Panduan Pemula.
Bagi penggemar olahraga, terutama basket, sepakbola, atau UFC, menonton bareng gratis dengan host kocak bisa menjadi hiburan tersendiri. Anda dapat melakukannya di tarkamlive, yang menyediakan streaming nonton bareng.
Ringkasan
CSS subgrid mempermudah penyelarasan layout bersarang dengan mewarisi jalur grid induk. Tujuh langkah di atas mencakup pemahaman konsep, struktur HTML, definisi grid induk, penerapan subgrid pada kolom dan baris, penyesuaian responsif, serta pengujian. Latihan dengan pola ini membantu Anda membuat layout yang rapi dan konsisten.
Pertanyaan yang Sering Diajukan
Apa perbedaan subgrid dengan grid biasa?
Grid biasa mendefinisikan jalur sendiri, sedangkan subgrid mewarisi jalur dari grid induk sehingga anak-anaknya sejajar dengan grid utama.
Apakah subgrid didukung semua browser?
Subgrid didukung di Firefox, Chrome, dan Safari versi terbaru. Untuk browser lama, gunakan fallback seperti grid biasa atau flexbox.
Kapan sebaiknya menggunakan subgrid?
Gunakan subgrid ketika Anda memiliki grid bersarang dan ingin item di dalamnya tetap sejajar dengan kolom atau baris grid induk, misalnya pada kartu produk atau daftar fitur.