Panduan Pemula untuk CSS Grid: Cara Membuat Tata Letak yang kuat
Selamat datang, para ahli desain web masa depan! Hari ini, kita akan melihat dunia yang magis dari CSS Grid. Jangan khawatir jika Anda belum pernah menulis satu baris kode sebelumnya – saya akan menjadi panduan ramah bagi Anda dalam perjalanan ini. Pada akhir tutorial ini, Anda akan dapat membuat tata letak seperti seorang ahli!
Apa Itu CSS Grid?
CSS Grid adalah seperti superhero untuk tata letak web. Itu adalah sistem dua dimensi yang memungkinkan Anda mengatur konten di baris dan kolom. Bayangkan Anda menata furnitur di dalam ruangan – itu seperti apa yang dilakukan Grid untuk halaman web Anda!
Mengapa Anda Harus Peduli?
Sebelum Grid, kita sering kesulitan dengan floats dan posisi untuk membuat tata letak 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 saat mereka menemukan Grid.
Memulai dengan CSS Grid
mari mulai dengan contoh yang sederhana. Bayangkan kita membuat tata letak 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 magia 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 di sini? Kita mengatakan kepada kontainer untuk ditampilkan sebagai grid dan menentukan tata letak menggunakan grid-template-areas
. Itu seperti menggambar peta halaman web kita!
Properti grid
CSS
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 ke
Properti grid
diterapkan ke elemen kontainer grid. Itu seperti mengatakan, "Hey, elemen ini adalah bos dari tata letak 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 membongkarannya!
CSS Grid - <grid-template>
Nilai <grid-template>
memungkinkan Anda menentukan struktur grid Anda. Itu seperti membuat blueprint untuk tata letak 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
adalah seperti "sebagian ruang yang tersedia" – sangat berguna!
CSS Grid - minmax()
dan repeat()
Fungsi ini adalah seperti duo dinamis Grid:
-
minmax()
menentukan ukuran minimum dan maksimum untuk sebidang. -
repeat()
memungkinkan Anda mengulangi definisi sebidang.
.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 membagi ruang tersedia secara sama rata.
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 horizontal atau vertikal.
.container {
grid: auto-flow / 200px 1fr;
}
Ini menciptakan kolom 200px dan 1fr, dengan baris dibuat secara otomatis sesuai kebutuhan.
CSS Grid - Nilai auto-flow dense
Menambahkan dense
ke auto-flow
mengatakan ke grid untuk mengisi lubang awal 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 deklarasi yang kuat:
.container {
grid: [auto-flow] 100px / repeat(3, [col-start] 1fr [col-end]);
}
Ini menciptakan grid dengan baris yang mengalir secara otomatis tinggi 100px, 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 takut untuk mencoba properti ini. Pernah saya memiliki murid yang menciptakan karya seni digital menggunakan Grid – kemungkinannya tak terbatas!
Dalam kesimpulan, CSS Grid adalah alat yang kuat yang dapat mengubah tata letak web Anda dari biasa menjadi menakjubkan. Mungkin terlihat overwhelming pada awalnya, tapi dengan latihan, Anda akan dapat membuat tata letak yang kompleks dengan mudah. Selamat coding, dan semoga grid Anda selalu berjejer sempurna!
Credits: Image by storyset