Stack

Tek boyutlu bir flex layout: children'ı bir kolon ya da satır halinde dizer, aralarına --mrd-space-* skalasından bir gap koyar. Kardeş elemanlar arasında margin yerine bunu kullan.

KararlıKaynak kod
1
2
3

Import

tsx
import { Stack } from "@merid/react";

Örnekler

Satır

1
2
3

Hizalama

align, align-items'a; justify, justify-content'e karşılık gelir (between, space-between demektir).

kısa
uzun
orta

Satır kaydırma

Tasarım
Token'lar
React
CSS
Erişilebilirlik
Dark mode

Semantik eleman

Liste, nav ya da form render'lamak için as kullan; layout aynı kalır.

  • Birinci öğe
  • İkinci öğe

API referansı

as verilmedikçe bir div render'lar; ref'ini iletir ve tüm HTML attribute'larını aktarır.

PropTipVarsayılanAçıklama
direction"row" | "column""column"Ana eksen.
gap0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 10 | 14 | 16 | 18 | 284--mrd-space-* skalasından gap (4 = 16px).
align"start" | "center" | "end" | "stretch" | "baseline"–Çapraz eksende hizalama (align-items).
justify"start" | "center" | "end" | "between"–Ana eksende dağılım (justify-content).
wrapbooleanfalseÖğelerin birden fazla satıra kaymasına izin verir.
asElementType"div"div yerine render'lanacak eleman ya da component.

Stil verme

SeçiciDeğerler
.mrd-stackKök eleman
data-directionrow · column
data-alignstart · center · end · stretch · baseline
data-justifystart · center · end · between
data-wrapwrap verildiğinde bulunur

Component değişkeni: gap'ten inline olarak ayarlanan --mrd-stack-gap. Responsive gap'ler için CSS'te onu ez:

css
@media (max-width: 640px) {
  .actions.mrd-stack { --mrd-stack-gap: var(--mrd-space-2); }
}

Erişilebilirlik

  • Stack yalnızca layout'tur ve rol eklemez. Doğru elemanı as ile seç (ul, nav, form).
  • Görsel sıra DOM sırasını izler; bunu CSS ile ters çevirme, yoksa focus sırası ile okuma sırası birbirini tutmaz.

Kullanım ilkeleri

Yap

Her stack'te tek bir gap kullan; farklı ritimler için stack'leri iç içe koy.

Kaçın

Boşluğa ince ayar yapmak için gap ile children üzerindeki margin'leri karıştırmak.

İlgili sayfalar

  • Grid: iki boyutlu layout.
  • Container: içerik genişliğini sınırlar.