Belajar CSS Grid Layout dari Dasar hingga Mahir

Created at by Aris Munandar

Dalam dunia pengembangan web modern, CSS Grid Layout menjadi salah satu teknik terkuat untuk mengatur tata letak (layout) halaman secara efisien dan fleksibel. Jika sebelumnya kita sering menggunakan float, flexbox, atau bahkan framework CSS, kini CSS Grid hadir dengan kemampuan yang jauh lebih intuitif untuk membuat desain kompleks dengan sedikit kode.

Artikel ini akan menjadi panduan lengkap belajar CSS Grid Layout dari dasar hingga mahir, mencakup penjelasan konsep dasar, properti penting, hingga contoh implementasi nyata. Baik kamu seorang pemula yang baru belajar CSS grid, maupun pengembang yang ingin meningkatkan keterampilan layouting web modern — artikel ini bisa menjadi referensi lengkapmu.

Baca juga: Tutorial Lengkap Flexbox CSS: Konsep, Properti, dan Contoh

Apa Itu CSS Grid Layout?

CSS Grid Layout adalah sistem tata letak dua dimensi yang memungkinkan kita mengatur elemen dalam baris (rows) dan kolom (columns). Tidak seperti Flexbox yang berfokus pada satu dimensi (horizontal atau vertikal), CSS Grid dapat menangani dua dimensi sekaligus.

Dengan menggunakan properti seperti display: grid, grid-template-columns, dan grid-template-rows, kamu bisa mengontrol posisi, ukuran, dan proporsi setiap elemen di dalam container dengan presisi tinggi.

Contoh dasar penerapan display grid css:

.container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto;
    gap: 20px;
}Code language: CSS (css)

Kode di atas membuat layout dengan 3 kolom yang sama besar dan jarak antar kolom sebesar 20 piksel.

Konsep Dasar CSS Grid

Sebelum mempelajari berbagai properti CSS grid, mari pahami dulu struktur dasarnya.

  • Grid Container: Elemen induk yang diberi properti display: grid.
  • Grid Items: Elemen-elemen anak di dalam grid container.
  • Grid Lines: Garis vertikal dan horizontal yang membentuk kolom dan baris.
  • Grid Cells: Area di antara dua grid lines (baris dan kolom).
  • Grid Tracks: Jalur atau area di antara dua garis grid.
  • Grid Area: Sekumpulan cell yang bisa digunakan untuk menampung item tertentu.

Membuat Layout Dasar dengan CSS Grid

<div class="grid-container">
    <header>Header</header>
    <nav>Menu</nav>
    <main>Konten Utama</main>
    <aside>Sidebar</aside>
    <footer>Footer</footer>
</div>Code language: HTML, XML (xml)
.grid-container {
    display: grid;
    grid-template-areas:
        "header header header"
        "nav main aside"
        "footer footer footer";
    grid-template-columns: 1fr 3fr 1fr;
    grid-gap: 10px;
}

header { grid-area: header; }
nav { grid-area: nav; }
main { grid-area: main; }
aside { grid-area: aside; }
footer { grid-area: footer; }Code language: CSS (css)

Dengan menggunakan grid-template-areas css, kita bisa dengan mudah menentukan struktur layout yang bersih dan mudah dipahami.

Properti Penting dalam CSS Grid

Berikut adalah daftar properti CSS grid yang paling sering digunakan beserta penjelasannya.

PropertiDeskripsi
display: gridMenjadikan elemen sebagai grid container.
grid-template-columnsMengatur jumlah dan ukuran kolom.
grid-template-rowsMengatur jumlah dan ukuran baris.
grid-template-areasMenentukan area layout berdasarkan nama.
grid-gap / gapMengatur jarak antar item (baris & kolom).
justify-itemsMenentukan posisi horizontal item dalam cell.
align-itemsMenentukan posisi vertikal item dalam cell.
justify-contentMengatur distribusi kolom dalam container.
align-contentMengatur distribusi baris dalam container.
grid-auto-flowMengatur arah otomatis penempatan item.

Mengatur Ukuran Kolom dan Baris dengan grid-template-columns dan grid-template-rows

Properti grid-template-columns dan grid-template-rows digunakan untuk menentukan struktur utama dari grid.

Contoh:

.container {
    display: grid;
    grid-template-columns: 200px 1fr 1fr;
    grid-template-rows: 100px auto 50px;
}Code language: CSS (css)
  • Kolom pertama memiliki lebar tetap 200px.
  • Kolom kedua dan ketiga menggunakan unit fleksibel fr (fraction).
  • Baris pertama tinggi 100px, baris kedua otomatis, baris ketiga 50px.

Fungsi repeat() dan minmax() pada CSS Grid

Untuk membuat layout yang lebih efisien, kita bisa memanfaatkan fungsi repeat() dan minmax().

Contoh penggunaan repeat() function css grid:

.container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}Code language: CSS (css)

Artinya, kita membuat 4 kolom yang masing-masing memiliki ukuran sama.

Contoh penggunaan minmax() function css grid:

.container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}Code language: CSS (css)

Fungsi ini membuat layout yang responsif, karena setiap kolom akan memiliki ukuran minimum 250px dan maksimum 1fr.

Mengatur Jarak antar Elemen: grid-gap, row-gap, dan column-gap

CSS Grid menyediakan properti grid-gap css untuk mengatur jarak antar elemen grid dengan mudah.

.container {
    display: grid;
    gap: 20px;
}Code language: CSS (css)

Kamu juga bisa memisahkan jarak baris dan kolom:

.container {
    row-gap: 10px;
    column-gap: 20px;
}Code language: CSS (css)

Mengatur Penempatan Elemen dengan justify-items dan align-items

Kedua properti ini digunakan untuk mengatur penempatan item di dalam cell grid.

.container {
    display: grid;
    justify-items: center;
    align-items: center;
}Code language: CSS (css)
  • justify-items: mengatur posisi horizontal.
  • align-items: mengatur posisi vertikal.

Mengatur Distribusi Grid dengan justify-content dan align-content

Jika justify-items dan align-items berfokus pada item individu, maka justify-content dan align-content digunakan untuk mengatur seluruh konten grid di dalam container.

Contoh:

.container {
    display: grid;
    justify-content: space-between;
    align-content: center;
}Code language: CSS (css)

Otomatisasi Layout dengan grid-auto-flow

grid-auto-flow css menentukan arah aliran otomatis item yang tidak memiliki posisi grid secara eksplisit.

  • grid-auto-flow: row; → menempatkan item per baris.
  • grid-auto-flow: column; → menempatkan item per kolom.
  • grid-auto-flow: dense; → mencoba mengisi celah kosong dengan item berikutnya.

Responsive Design dengan CSS Grid

Membuat responsive grid layout sangat mudah menggunakan unit fleksibel seperti fr, auto-fit, dan minmax().

Contoh:

.container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 15px;
}Code language: CSS (css)

Kode di atas memungkinkan layout otomatis menyesuaikan jumlah kolom berdasarkan lebar layar.

Menggabungkan Grid Area

Kamu juga dapat menggabungkan beberapa cell menjadi satu area besar.

.item1 {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
}Code language: CSS (css)

Perbandingan Flexbox vs Grid CSS

AspekFlexboxCSS Grid
DimensiSatu dimensi (baris atau kolom)Dua dimensi (baris dan kolom)
PenggunaanMenyusun elemen dalam satu arahMembuat layout kompleks dan lengkap
Properti utamajustify-content, align-itemsgrid-template, grid-area
KelebihanFleksibel untuk komponen kecilSempurna untuk layout halaman penuh
KekuranganTidak efisien untuk layout kompleksAgak kompleks untuk pemula

Jika kamu sudah menguasai Flexbox, maka mempelajari Grid CSS Layout akan menjadi langkah logis berikutnya.

Contoh Website Menggunakan CSS Grid

Berikut contoh layout website sederhana menggunakan grid CSS:

<div class="site-grid">
    <header>Header</header>
    <nav>Menu</nav>
    <main>Konten</main>
    <aside>Sidebar</aside>
    <footer>Footer</footer>
</div>Code language: HTML, XML (xml)
.site-grid {
    display: grid;
    grid-template-columns: 200px 1fr;
    grid-template-rows: 80px auto 60px;
    grid-template-areas:
        "header header"
        "nav main"
        "footer footer";
    min-height: 100vh;
}Code language: CSS (css)

Tips Menggunakan CSS Grid Layout

  1. Gunakan grid-template-areas untuk struktur yang mudah dipahami.
  2. Gunakan fr daripada px untuk layout fleksibel.
  3. Kombinasikan Grid dengan media query untuk hasil responsive.
  4. Gunakan inspect tool browser untuk debugging grid.
  5. Gunakan auto-fit dan minmax() untuk kolom adaptif.

Kesimpulan

CSS Grid Layout merupakan evolusi besar dalam dunia layout web modern. Dengan memahami konsep dasar seperti grid-template, grid-area, dan responsive grid layout, kamu bisa membuat tampilan website yang lebih efisien dan adaptif tanpa bantuan framework tambahan.

Sekarang, kamu sudah mengetahui dasar hingga mahir tentang belajar CSS Grid Layout dari dasar hingga mahir. Selanjutnya, praktikkan pada proyek web-mu dan rasakan kemudahan pengaturan tata letak menggunakan CSS Grid.

1 CSS Dasar (Pemula)

3 CSS Lanjutan

4 CSS Mahir

5 CSS Ahli

Comments

Congrats, you have the opportunity to be the first commenter on this article. Have questions or suggestions? Please leave a comment to start discussion.

Leave comment

Alamat email Anda tidak akan dipublikasikan. Required fields are marked *

news-1701

sabung ayam online

yakinjp

yakinjp

rtp yakinjp

slot thailand

yakinjp

yakinjp

yakin jp

yakinjp id

maujp

maujp

maujp

maujp

sabung ayam online

sabung ayam online

judi bola online

sabung ayam online

judi bola online

slot mahjong ways

slot mahjong

sabung ayam online

judi bola

live casino

sabung ayam online

judi bola

live casino

SGP Pools

slot mahjong

sabung ayam online

slot mahjong

SLOT THAILAND

article 118880681

article 118880682

article 118880683

article 118880684

article 118880685

article 118880686

article 118880687

article 118880688

article 118880689

article 118880690

article 118880691

article 118880692

article 118880693

article 118880694

article 118880695

article 118880696

article 118880697

article 118880698

article 118880699

article 118880700

teknik rtp mahjong ways

pola scatter hitam rtp

analisis rtp pg soft

strategi rtp mahjong ways2

validasi rtp kasino online

psikologi rtp mahjong ways

analisa grafik rtp pg soft

rtp live server kasino

pola tempo scatter hitam

rtp mahjong ways koneksi

article 118880711

article 118880712

article 118880713

article 118880714

article 118880715

article 118880716

article 118880717

article 118880718

article 118880719

article 118880720

berita 128000751

berita 128000752

berita 128000753

berita 128000754

berita 128000755

berita 128000756

berita 128000757

berita 128000758

berita 128000759

berita 128000760

article 128000761

article 128000762

article 128000763

article 128000764

article 128000765

article 128000766

article 128000767

article 128000768

article 128000769

article 128000770

metodologi rtp scatter hitam

pola visual psikologi pg soft

studi rtp kasino online

sinkronisasi pola mahjong ways

prediksi rtp mahjong ways

algoritma pg soft digital

transparansi rtp kasino

efisiensi modal mahjong ways

kecepatan server rtp scatter

statistik rtp mahjong ways

article 128000781

article 128000782

article 128000783

article 128000784

article 128000785

article 128000786

article 128000787

article 128000788

article 128000789

article 128000790

artikel 128000846

artikel 128000847

artikel 128000848

artikel 128000849

artikel 128000850

artikel 128000851

artikel 128000852

artikel 128000853

artikel 128000854

artikel 128000855

post 128000856

post 128000857

post 128000858

post 128000859

post 128000860

post 128000861

post 128000862

post 128000863

post 128000864

post 128000865

post 128000866

post 128000867

post 128000868

post 128000869

post 128000870

post 128000871

post 128000872

post 128000873

post 128000874

post 128000875

pola pg soft disiplin bermain

transparansi rtp mahjong ways

sensor data kasino online

panduan rtp mahjong ways2

pola scatter hitam mingguan

fluktuasi rtp mahjong ways

strategi pola mahjong ways2

analisa rtp live scatter

sistem pg soft mekanisme

pola distribusi kasino global

post 128000886

post 128000887

post 128000888

post 128000889

post 128000890

post 128000891

post 128000892

post 128000893

post 128000894

post 128000895

story 138000856

story 138000857

story 138000858

story 138000859

story 138000860

story 138000861

story 138000862

story 138000863

story 138000864

story 138000865

post 138000866

post 138000867

post 138000868

post 138000869

post 138000870

post 138000871

post 138000872

post 138000873

post 138000874

post 138000875

post 138000876

post 138000877

post 138000878

post 138000879

post 138000880

post 138000881

post 138000882

post 138000883

post 138000884

post 138000885

indikator rtp pg soft

pola visual server mahjong

rtp momentum scatter hitam

strategi manual kasino online

perbandingan rtp mahjong ways2

pola simbol pg soft

rtp pola layar mahjong

strategi modal scatter hitam

evaluasi rtp server kasino

pola riwayat mahjong ways2

post 138000896

post 138000897

post 138000898

post 138000899

post 138000900

post 138000901

post 138000902

post 138000903

post 138000904

post 138000905

journal-228000406

journal-228000407

journal-228000408

journal-228000409

journal-228000410

journal-228000411

journal-228000412

journal-228000413

journal-228000414

journal-228000415

journal-228000416

journal-228000417

journal-228000418

journal-228000419

journal-228000420

journal-228000421

journal-228000422

journal-228000423

journal-228000424

journal-228000425

journal-228000426

journal-228000427

journal-228000428

journal-228000429

journal-228000430

journal-228000431

journal-228000432

journal-228000433

journal-228000434

journal-228000435

cuaca 228000436

cuaca 228000437

cuaca 228000438

cuaca 228000439

cuaca 228000440

cuaca 228000441

cuaca 228000442

cuaca 228000443

cuaca 228000444

cuaca 228000445

cuaca 228000446

cuaca 228000447

cuaca 228000448

cuaca 228000449

cuaca 228000450

keamanan scatter hitam global

volatilitas rtp mahjong ways

logaritma digital pg soft

transparansi rtp kasino online

pola transisi mahjong ways

monitoring rtp real time

statistik putaran pg soft

algoritma rtp pg soft

manajemen risiko kasino

metrik rtp mahjong ways

strategi scatter hitam adaptif

validitas rtp kasino online

pola rekap mahjong ways

sinkronisasi rtp server

volatilitas mahjong ways

cuaca 228000466

cuaca 228000467

cuaca 228000468

cuaca 228000469

cuaca 228000470

cuaca 228000471

cuaca 228000472

cuaca 228000473

cuaca 228000474

cuaca 228000475

cuaca 228000476

cuaca 228000477

cuaca 228000478

cuaca 228000479

cuaca 228000480

article 228000441

article 228000442

article 228000443

article 228000444

article 228000445

article 228000446

article 228000447

article 228000448

article 228000449

article 228000450

article 228000451

article 228000452

article 228000453

article 228000454

article 228000455

statistik rtp mahjong ways2

pola mitigasi scatter liar

rtp pg soft sesi stabil

sinkronisasi data kasino online

rasio rtp mahjong ways

prediksi scatter hitam

algoritma rtp mahjong ways2

logika pola pg soft

analisa rtp kasino modern

optimasi scatter riwayat putaran

article 228000466

article 228000467

article 228000468

article 228000469

article 228000470

article 228000471

article 228000472

article 228000473

article 228000474

article 228000475

update 238000532

update 238000533

update 238000534

update 238000535

update 238000536

update 238000537

update 238000538

update 238000539

update 238000540

update 238000541

post 238000541

post 238000542

post 238000543

post 238000544

post 238000545

post 238000546

post 238000547

post 238000548

post 238000549

post 238000550

post 238000551

post 238000552

post 238000553

post 238000554

post 238000555

post 238000556

post 238000557

post 238000558

post 238000559

post 238000560

fluktuasi rtp mahjong ways2

konsistensi scatter statistik

pola sesi mahjong ways

transparansi rtp kasino online

scatter hitam sinkronisasi server

prosedur pola pg soft

algoritma rtp free spin

distribusi scatter acak

respon mesin mahjong ways

keamanan data rtp kasino

post 238000571

post 238000572

post 238000573

post 238000574

post 238000575

post 238000576

post 238000577

post 238000578

post 238000579

post 238000580

news-1701