grid-area
Properti CSS grid-area adalah singkatan untuk penempatan item grid berbasis garis dalam grid.
Properti grid-area berfungsi seperti ini:
grid-row-start / grid-column-start / grid-row-end / grid-column-end
Jadi properti ini memungkinkan kamu untuk menentukan baris mana yang memulai item grid, dan berapa banyak trek yang terbentang.
Yuk kita lihat kode yang relevan dari contoh di atas:
#grid > div:first-child {
grid-area: 2 / 2 / 4 / 4;
background: orangered;
}
Kode tersebut menghasilkan item grid pertama yang ditempatkan mulai dari row line 2, column line 2, dan membentang dua baris ke bawah dan dua kolom.
Dua nilai pertama menentukan posisi awal, dan dua nilai terakhir menentukan posisi akhirnya.
Garis miring (/) memisahkan nilai untuk masing-masing properti.
Nama Grid Area
Kamu juga bisa merujuk ke nama grid area apa pun yang kamu buat dengan properti grid-template-areas:
/* Menentukan nama grid area */
grid-template-areas:
"a b c"
"d e f"
"g h i";
/* Sekarang merujuk ke nama grid area (bukan nomor indeks) */
#grid > div:first-child {
grid-area: e / e / i / i;
background: orangered;
}
Baris Bernama Implisit
Kamu juga bisa merujuk ke setiap baris bernama implisit (dan eksplisit) yang telah didefinisikan pada grid.
Baris bernama implisit dibuat secara otomatis setiap kali kamu membuat area grid bernama.
Jadi, setiap kali kamu membuat area kotak bernama (seperti dalam contoh sebelumnya), seluruh rangkaian garis bernama implisit dibuat di belakang layar.
Untuk setiap grid area bernama foo, empat garis bernama implisit dibuat. Dua nama foo-start menamai baris
baris-awal dan kolom-awal dari area grid bernama, dan dua bernama foo-end sebagai baris-akhir dan kolom-akhir
dari area grid bernama.
Jadi kita bisa mengambil contoh di atas, dan menambahkan -start untuk kedua nilai e dan -end ke kedua i, dan
sekarang kita akan merujuk ke baris bernama implisit:
/* Menentukan grid area bernama */
grid-template-areas:
"a b c"
"d e f"
"g h i";
/* Sekarang merujuk ke baris bernama implisit */
#grid > div:first-child {
grid-area: e-start / e-start / i-end / i-end;
background: orangered;
}
Jadi, saya sebenarnya tidak mendefinisikan e-start atau e-end dimana pun dalam kode.
Ini secara otomatis dihasilkan dari area grid bernama.
Misalnya, jika kamu memanggil area grid teh dan manis, maka garis bernama implisit kamu akan disebut teh-start dan
manis-end.
Baris Bernama Eksplisit
CSS juga memungkinkan kamu menentukan nama sendiri pada baris grid. Ini disebut baris bernama eksplisit.
Kamu dapat membuat nama-nama ini ketika menentukan trek, lalu merujuknya seperti dengan baris bernama implisit:
/* Menentukan nama grid area */
grid-template-areas:
"a b c"
"d e f"
"g h i";
/* Sekarang merujuk ke nama grid area */
#grid > div:first-child {
grid-area: e / e / i / i;
background: orangered;
}
Kata Kunci span
Kata kunci span dapat digunakan untuk membuat item grid span beberapa trek.
CSS Syntax
grid-area: <grid-line> [ / <grid-line> ]{0,3}
Dimana:
<grid-line> =
auto |
<custom-ident> |
[ <integer> && <custom-ident>? ] |
[ span && [ <integer> || <custom-ident> ] ]
CSS Syntax
grid-area: grid-row-start / grid-column-start / grid-row-end / grid-column-end | itemname;
JavaScript Syntax
object.style.gridArea="1 / 2 / span 2 / span 3"
| Default value: | auto / auto / auto / auto |
|---|---|
| Inherited: | tidak |
| Animatable: | ya Read about animatable |
| Version: | CSS Grid Layout Module Level 1 |
Attribute Value
default
grid-area: auto;
grid-area: main;