Generator Grid CSS

Bangun tata letak CSS Grid secara visual · atur kolom, baris, jarak, dan perataan, lihat pratinjau langsung, salin CSS-nya.

Properti grid

Pratinjau

CSS yang dihasilkan

Cara menggunakan

  1. Tentukan dimensi grid: masukkan jumlah kolom dan baris untuk tata letak Anda.
  2. Tentukan track: atur lebar setiap kolom dan tinggi setiap baris dengan unit fr, piksel, persentase, auto, atau minmax().
  3. Salin CSS: properti display: grid, grid-template-columns, grid-template-rows, dan gap yang dihasilkan siap untuk ditempel ke stylesheet Anda.

Mengapa menggunakan generator CSS Grid?

CSS Grid adalah sistem tata letak paling andal di CSS, mampu membuat tata letak dua dimensi kompleks yang sebelumnya membutuhkan tabel, float, atau JavaScript. Tetapi menguasai grid-template-columns, satuan fr, minmax(), repeat(), dan area bernama membutuhkan latihan. Generator visual ini memungkinkan Anda membangun grid apa pun dengan klik dan seret, lalu menghasilkan CSS yang bersih untuk segera digunakan atau dipelajari untuk memperdalam pemahaman Anda tentang Grid.

Fitur

Pertanyaan umum

Apa itu satuan "fr" di CSS Grid?

Satuan fr (fraction) mendistribusikan ruang yang tersedia secara proporsional. Dalam grid 3 kolom dengan 1fr 2fr 1fr, kolom tengah mendapat dua kali lipat ruang dibanding kolom luar. Satuan fr berbagi ruang yang tersisa setelah alokasi track berukuran tetap.

Bagaimana cara membuat grid responsif tanpa media query?

Gunakan repeat(auto-fill, minmax(200px, 1fr)) sebagai nilai grid-template-columns. Ini membuat sebanyak mungkin kolom yang ukuran minimumnya memungkinkan, meluas untuk mengisi ruang yang tersedia. Item secara otomatis mengatur ulang saat lebar kontainer berubah.

Apa perbedaan antara grid-template dan grid-auto?

grid-template-columns/rows mendefinisikan track eksplisit yang Anda tentukan. grid-auto-columns/rows menentukan ukuran track implisit, kolom dan baris yang dibuat secara otomatis saat item meluap dari grid eksplisit.

Sejarah singkat CSS Grid

Sebelum CSS Grid, tata letak web melewati tiga era yang menyakitkan. Tata letak berbasis tabel (1995-2008) menyalahgunakan elemen <table> untuk struktur visual, dengan «pemotongan dan pembagian» komposisi Photoshop menjadi grid HTML. Tata letak berbasis float (2008-2013) mengganti tabel dengan properti float, memerlukan trik «clearfix» seperti micro-clearfix Nicolas Gallagher (2011) untuk menampung anak yang terbungkus. Flexbox (CSS Flexible Box Layout Module Level 1, Rekomendasi W3C 2018) menyelesaikan tata letak satu dimensi tetapi kesulitan dengan grid dua dimensi yang sebenarnya. Cerita CSS Grid dimulai dengan implementasi -ms-grid Microsoft di Internet Explorer 10 (2012), sebuah versi awal yang memberi masukan pada spesifikasi W3C. Draf kerja publik W3C pertama dari CSS Grid Layout Module Level 1 muncul di April 2011, tetapi momentum sesungguhnya datang dari pekerjaan advokasi Rachel Andrew (buku Get Ready for CSS Grid Layout-nya, 2016) dan Jen Simmons (advokat-pengembang Mozilla, sirkuit konferensi 2016-2018). Perlombaan peramban terselesaikan dalam jendela dua bulan yang luar biasa di Maret 2017: Chrome 57, Firefox 52, Safari 10.1, dan Edge 16 semuanya mengirimkan Grid tanpa prefiks dalam jarak beberapa minggu satu sama lain. W3C menandai Grid Level 1 sebagai Rekomendasi Kandidat pada Desember 2016; Rekomendasi W3C final tiba pada Agustus 2020. Subgrid (Level 2) dikirimkan di Firefox 71 (Des 2019), Safari 16 (Sept 2022), dan Chrome 117 (Sept 2023). Garis batas berikutnya adalah tata letak Masonry yang diusulkan (proposal CSS Working Group 2020, di balik flag di Firefox sejak 2021).

Anatomi grid CSS

Pola Grid dunia nyata

Standar dan tonggak sejarah

Pertanyaan yang lebih sering ditanyakan

Kapan saya harus menggunakan Grid vs Flexbox?

Singkatan komunitas: Flexbox untuk satu dimensi, Grid untuk dua. Jika Anda menata baris tombol atau menyelaraskan item dalam satu arah, Flexbox lebih sederhana. Jika Anda merancang tata letak seluruh halaman dengan baris dan kolom yang harus selaras, Grid adalah alat yang tepat. Banyak tata letak nyata menggabungkan keduanya: Grid untuk kerangka halaman, Flexbox untuk penyelarasan tingkat komponen dalam setiap area grid. Kerangka kerja modern (Tailwind, Bootstrap 5) menganut pola ini.

Apakah CSS Grid berfungsi di peramban yang lebih lama?

Semua peramban evergreen (Chrome, Firefox, Safari, Edge) mendukung Grid sejak Maret 2017. Internet Explorer 11 hanya memiliki sintaks -ms-grid awal (subset, dengan prefiks, banyak fitur yang hilang). Untuk dukungan IE11, gunakan kueri @supports untuk kembali ke Flexbox atau tata letak berbasis float. Per 2024, IE11 memiliki penggunaan global kurang dari 0,5%, jadi sebagian besar tim telah meninggalkan fallback. Caniuse.com melaporkan dukungan global 97%+ untuk Grid tanpa prefiks.

Apa perbedaan antara grid-template-areas dan grid-area?

grid-template-areas diatur pada wadah grid dan secara visual memetakan wilayah grid yang dinamai (satu string per baris). grid-area diatur pada item grid untuk menetapkannya ke salah satu wilayah yang dinamai tersebut. Keduanya bekerja sama: wadah mendeklarasikan «peta», item mendeklarasikan «saya wilayah X». Anda juga dapat menggunakan grid-area langsung dengan nomor baris (grid-area: 1 / 1 / 3 / 4) alih-alih nama, yang berguna untuk tata letak dinamis.

Apa itu subgrid dan kapan saya harus menggunakannya?

Subgrid memungkinkan grid bersarang mewarisi definisi jalur grid induknya alih-alih membuat sendiri. Ini menyelesaikan masalah menyelaraskan item di seluruh grid bersarang, misalnya, kartu dengan tata letak internal yang harus selaras dengan kartu di sekitarnya. Gunakan grid-template-columns: subgrid pada grid bersarang. Tersedia di Firefox 71+ (Des 2019), Safari 16+ (Sept 2022), Chrome 117+ (Sept 2023). Kembali ke grid bersarang biasa di peramban yang tidak mendukung.

Bagaimana Grid berinteraksi dengan aksesibilitas?

Penempatan Grid tidak mengubah urutan sumber DOM: item muncul di posisi visual yang Anda tetapkan, tetapi pembaca layar dan urutan tab keyboard mengikuti sumber. WCAG 2.1 SC 1.3.2 Urutan Bermakna mengharuskan urutan sumber masuk akal ketika gaya dihapus. Implikasinya: rancang sumber DOM Anda terlebih dahulu untuk urutan baca logis, lalu gunakan Grid untuk menempatkan item secara visual. Jika Anda menata ulang item secara dramatis dengan grid-column: 3 / 5; grid-row: 2, audit dengan pembaca layar untuk mengonfirmasi bahwa urutan yang diucapkan masih masuk akal.

Alat terkait

CSS Kotak Model Visualisator CSS Multi-Kolom Generator Generator Flexbox CSS CSS Clip-Jalur Generator