Grid
Kart, istatistik ve kutucuk satırları için iki boyutlu bir CSS grid. Sabit bir kolon sayısı seç ya da kolonların minimum genişliğe göre auto-fit ile yerleşmesine izin ver.
<Grid>
<Box>1</Box>
<Box>2</Box>
<Box>3</Box>
<Box>4</Box>
<Box>5</Box>
<Box>6</Box>
</Grid>Import
import { Grid } from "@merid/react";Örnekler
Sabit kolonlar
columns 1 ile 6 arasında eşit kolon belirler (varsayılan 3). 640px ve altında sabit grid tek kolona düşer.
<Grid columns={4} gap={3}>
{items.map((item) => <Box key={item.id}>{item.label}</Box>)}
</Grid>Auto-fit
minItemWidth, grid'i auto-fit'e geçirir: sığdığı kadar kolon açılır, her biri en az bu genişlikte olur. columns'u geçersiz kılar ve breakpoint gerektirmez.
<Grid minItemWidth={140} gap={4}>
{items.map((item) => <Box key={item.id}>{item.label}</Box>)}
</Grid>API referansı
as verilmedikçe bir div render'lar; ref'ini iletir ve tüm HTML attribute'larını olduğu gibi geçirir.
| Prop | Tip | Varsayılan | Açıklama |
|---|---|---|---|
columns | 1 | 2 | 3 | 4 | 5 | 6 | 3 | Sabit sayıda eşit kolon. ≤ 640px'te teke düşer. minItemWidth verildiğinde yok sayılır. |
minItemWidth | number | string | – | Responsive auto-fit: her kolon en az bu genişlikte olur (number = px). |
gap | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 14 | 16 | 18 | 28 | 6 | --mrd-space-* ölçeğinden boşluk (6 = 24px). |
as | ElementType | "div" | div yerine render'lanacak eleman ya da component. |
Stil verme
| Seçici | Değerler |
|---|---|
.mrd-grid | Kök eleman |
data-layout | fixed (columns) · auto (minItemWidth) |
Prop'lardan inline atanan component değişkenleri: --mrd-grid-gap, --mrd-grid-columns (sabit layout) ve --mrd-grid-min (auto layout).
@media (min-width: 1024px) {
.dashboard.mrd-grid { --mrd-grid-columns: 4; }
}Erişilebilirlik
- Grid yalnızca layout içindir ve rol eklemez; bir ARIA
grid'i değildir. Öğe listesi içinas="ul"velichild'ları kullan. - Öğeler DOM sırasıyla akar; klavye ve ekran okuyucu kullanıcıları için bu sıranın anlamlı kalmasını sağla.
Kullanım ilkeleri
Yap
Kart koleksiyonlarında minItemWidth'i tercih et; grid her container genişliğine uyum sağlar.
Kaçın
Tek satırlık butonlar ya da form kontrolleri için Grid kullanmak. Onun için Stack var.