Skeleton

İçerik yüklenirken onun şeklini koruyan bir yer tutucu; veri geldiğinde layout zıplamaz. 1,4 saniyede bir parıldar, azaltılmış hareket açıkken sabit kalır.

KararlıKaynak kod

Import

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

Örnekler

Metin bloğu

Boyut prop'u verilmezse skeleton tam genişlikte ve 1em yüksekliğindedir, yani çevresindeki metnin bir satırı kadar. Bloğun paragraf gibi okunması için son satırı kısalt.

Şekiller

Sayılar piksel, string'ler herhangi bir CSS uzunluğudur. circle tamamen yuvarlar; width ve height'ı eşit ver.

API referansı

aria-hidden bir span render'lar ve ref'ini iletir. style boyut prop'larından sonra birleştirilir, yani onları ezebilir.

PropTipVarsayılanAçıklama
widthnumber | string"100%"CSS genişliği; sayı verilirse px.
heightnumber | string"1em"CSS yüksekliği; sayı verilirse px.
circlebooleanfalseDaire render'lar. width ve height'ı eşit ver.

Stil verme

SeçiciDeğerler
.mrd-skeletonKök <span>
data-shaperect · circle

Skeleton'ın component değişkeni yok. Parıltı --mrd-tray'den --mrd-tray-2'ye gider; Merid'in izin verdiği tek gradyan bu.

Erişilebilirlik

  • Her skeleton aria-hidden'dır; tek başına yardımcı teknolojiye hiçbir şey söylemez.
  • Yüklenen bölgeye aria-busy="true" ver, içerik gelince kaldır. Sesli bir ipucu için görsel olarak gizli bir “Yükleniyor…” status'u ekle.

Kullanım ilkeleri

Yap

Gerçek layout'u yakından taklit et: aynı avatar boyutu, aynı satır sayısı. Böylece içerik yüklendiğinde hiçbir şey kaymaz.

Kaçın

Yaklaşık 300ms'den kısa sürede yüklenen içerik için ya da hata ve boş sonuçlar için skeleton göstermek.

İlgili sayfalar

  • Spinner: içerik için değil, aksiyonlar için.
  • EmptyState: yükleme sonunda hiçbir şey çıkmazsa ne gösterileceği.