Panduan Awal CSS Grid: Panduan untuk Layouts Yang Cerdas

Selamat datang, para ahli desain web masa depan! Hari ini, kita akan meluncur ke dalam dunia magis CSS Grid. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - saya akan menjadi panduan ramah Anda dalam perjalanan ini. Pada akhir panduan ini, Anda akan dapat membuat layout seperti seorang ahli!

CSS - Grid

Apa Itu CSS Grid?

CSS Grid seperti superhero untuk layout web. Itu adalah sistem dua dimensi yang memungkinkan Anda mengatur konten dalam baris dan kolom. Bayangkan Anda menata furnitur di dalam ruangan - itu apa yang dilakukan Grid untuk halaman web Anda!

Mengapa Anda Harus Menyukainya?

Sebelum Grid, kita sering kesulitan dengan floats dan posisi untuk membuat layout yang kompleks. Itu seperti mencoba membangun rumah dengan tape pipa! Grid membuatnya mudah dan intuitif. Percayalah, setelah 15 tahun mengajar, saya telah melihat kelegaan di wajah murid-murid saya saat mereka menemukan Grid.

Memulai Dengan CSS Grid

mari mulai dengan contoh yang sederhana. Bayangkan kita membuat layout halaman web dasar dengan header, konten utama, sidebar, dan footer.

<div class="container">
<header>Header</header>
<main>Main Content</main>
<aside>Sidebar</aside>
<footer>Footer</footer>
</div>

Sekarang, mari tambahkan sedikit sihir CSS:

.container {
display: grid;
grid-template-areas:
"header header header"
"main main sidebar"
"footer footer footer";
gap: 10px;
}

header { grid-area: header; background-color: #ff9999; }
main   { grid-area: main; background-color: #99ff99; }
aside  { grid-area: sidebar; background-color: #9999ff; }
footer { grid-area: footer; background-color: #ffff99; }

Apa yang terjadi disini? Kita mengatakan kepada kontainer untuk menampilkan sebagai grid dan menentukan layout menggunakan grid-template-areas. Itu seperti menggambar peta halaman web kita!

Properti CSS grid

Properti grid adalah singkatan untuk mengatur semua properti grid eksplisit sekaligus. Itu seperti pisau瑞士 Army knife untuk Grid!

Nilai Yang Mungkin

Berikut adalah tabel nilai yang mungkin untuk properti grid:

Nilai Deskripsi
none Tidak ada perilaku grid yang ditentukan
<grid-template> Menentukan ukuran kolom dan baris grid
<grid-template-rows> / <grid-auto-columns> Mengatur properti grid-template-rows dan grid-auto-columns
<grid-auto-flow> [<grid-auto-rows> [ / <grid-auto-columns> ] ] Mengatur properti grid-auto-flow, dan secara opsional mengatur grid-auto-rows dan grid-auto-columns

Terapkan Pada

Properti grid diterapkan pada elemen kontainer grid. Itu seperti mengatakan, "Hey, elemen ini adalah bos dari layout grid!"

Sintaks DOM

object.style.grid = "none|<grid-template-rows> / <grid-template-columns>|<grid-auto-flow> [<grid-auto-rows> [ / <grid-auto-columns>] ]|initial|inherit";

Jangan khawatir jika ini terlihat seperti bahasa asing saat ini. Kita akan membongkar ini!

CSS Grid - <grid-template>

Nilai <grid-template> memungkinkan Anda menentukan struktur grid Anda. Itu seperti membuat blueprint untuk layout Anda.

.container {
grid: 100px 300px / 3fr 1fr;
}

Ini menciptakan grid dengan dua baris (100px dan 300px tinggi) dan dua kolom (3fr dan 1fr lebar). Unit fr seperti "fraksi ruang tersedia" - sangat berguna!

CSS Grid - minmax() dan repeat()

Fungsi ini seperti pasangan dinamis Grid:

  • minmax() menentukan ukuran minimum dan maksimum untuk sebuah track.
  • repeat() memungkinkan Anda mengulang definisi track.
.container {
grid: repeat(3, minmax(100px, auto)) / repeat(3, 1fr);
}

Ini menciptakan grid 3x3 di mana setiap baris paling sedikit 100px tinggi tapi dapat tumbuh, dan kolom berbagi ruang tersedia secara merata.

CSS Grid - Nilai auto-flow

Nilai auto-flow menentukan bagaimana item yang ditempatkan otomatis dimasukkan ke grid. Itu seperti memutuskan apakah mengisi rak buku secara horisontal atau vertikal.

.container {
grid: auto-flow / 200px 1fr;
}

Ini menciptakan kolom 200px dan 1fr, dengan baris dibuat otomatis seperti yang diperlukan.

CSS Grid - Nilai auto-flow dense

Menambahkan dense ke auto-flow memberitahu grid untuk mengisi lubang awal di grid jika item yang lebih kecil muncul kemudian. Itu seperti bermain Tetris secara efisien!

.container {
grid: auto-flow dense / 200px 1fr;
}

CSS Grid - Shorthand Kompleks

Anda dapat menggabungkan semua konsep ini menjadi satu deklarasi yang kuat:

.container {
grid: [auto-flow] 100px / repeat(3, [col-start] 1fr [col-end]);
}

Ini menciptakan grid dengan baris yang mengalir otomatis 100px tinggi, dan tiga kolom lebar yang sama dengan garis yang dinamai.

CSS Grid - Properti Terkait

Grid datang dengan keluarga properti. Berikut adalah beberapa properti kunci:

Properti Deskripsi
grid-template-rows Menentukan baris grid
grid-template-columns Menentukan kolom grid
grid-template-areas Menentukan area template grid
grid-auto-rows Mengatur ukuran untuk baris yang dibuat secara implisit
grid-auto-columns Mengatur ukuran untuk kolom yang dibuat secara implisit
grid-auto-flow Mengontrol bagaimana algoritma penempatan otomatis bekerja

Ingat, latihan membuat sempurna! Jangan khawatir untuk mencoba properti ini. Saya pernah memiliki murid yang menciptakan karya seni digital menggunakan Grid - kemungkinannya tak terbatas!

Dalam kesimpulan, CSS Grid adalah alat yang kuat yang dapat mengubah layout web Anda dari biasa menjadi menakjubkan. Mungkin terlihat overwhelming pada awalnya, tapi dengan latihan, Anda akan dapat membuat layout yang kompleks dengan mudah. Selamat mengoding, dan semoga grid Anda selalu berjejer rapi!

Credits: Image by storyset