GH GambleHub

Simgeler ve piktogramlar sistemi

1) Üründeki simgelerin rolü

Simgeler, anlam ve durumun kompakt bir taşıyıcısıdır. Taramayı hızlandırır, yerden tasarruf sağlar ve desen tanımayı artırır. Ürün arayüzlerinde simge, metin ve renkleri değiştirmek yerine tamamlar.

İlkeler:

1. Anlam> stil: Her simgenin net bir uygulama senaryosu olmalıdır.

2. Tutarlılık: tek ızgara, kontur, açılar, doldurma ritmi.

3. Kullanılabilirlik: simge tek sinyal değildir; Her zaman bir imza/araç ipucu/arya vardır.

4. Performans: Bir SVG boru hattı, sprite ve renk/boyut belirteçleri.

2) Izgara ve anahtar hatları

Temel çalışma yüzeyleri: 16 × 16, 20 × 20, 24 × 24 (ana), 32 × 32.
Anahtar çizgisi-Optik denge için 1-2 piksel'te yazılı bir daire/kare.
Piksel aralığı: tam sayı koordinatlarını çizin; Kontur 0'ın katıdır. 5 px (genellikle 1. 5 px 24 × 24).

Optik telafiler:
  • Köşegenler'daha kalın'daha ince görünür - 0 ekleyin. Sorunlu noktalarda inme için 25 px.
  • Anahtar çizginin içindeki keskin köşelerin üst kısımlarını "çıngırak" yapmamak için 1 px hafifçe batırıyoruz.
  • Daireler ve noktalar genellikle eşit görsel kütle için + 1 piksel ila çap gerektirir.

Tıklama bölgeleri: Etkileşimli bölge ≥ 40 × 40 piksel (mobil), ≥ 32 × 32 piksel (masaüstü); simge ortalanmıştır.

3) Dizgi stili

Varsayılan anahat:
  • kontur: 1. 5 px (24 × 24), 1. 25 px (20 × 20), 1 px (16 × 16).
  • Linecap/linejoin: Dostluk için 'yuvarlak' veya teknik stil için 'gönye' (kılavuzda sabitlenmiştir).
  • Geometride yarıçap açıları: 2-3 px (24 × 24 ile).

Dolgulu-Yoğun alanlar ve durum simgeleri için.
Çift ton, açıklayıcı boş durumlar için izin verilir, ancak kritik UI sinyalleri için izin verilmez.

Ağırlık hiyerarşisi:
  • Anahat - temel durum.
  • Doldurulmuş - varlık/tahsis.
  • İki tonlu - dekoratif/yardım.

4) Renk ve Kontrast (WCAG)

Temel mod 'currentColor' aracılığıyla tek renklidir: simge metnin/bağlamın rengini devralır.

Kritik durumlar (hata/başarı/uyarı) - semantik belirteçler:
  • 'icon. Hata '↔ arka plan ≥ 3:1, metinle imzalanmış (sadece renk değil).
  • 'icon. Yüzeyde '↔ arka plan ≥ 3:1; Küçük boyutlar için hedef 4'tür. 5:1.
  • Renk kalıplarında, 'on-' renkleri kullanın (renk sisteminden otomatik kontrast).

5) Durumlar ve etkileşimler

Varsayılan/Hover/Aktif/Engelli/Odak: fark sadece renkte değil - opaklık/dolgu/kalınlık/arka plan hapını değiştirin, odak halkası ekleyin.
Rozetler - Rakam kontrastı ≥ 4. 5:1 ölüye; Rakam boyutu ≥ 10-11 piksel.
Simgeleri değiştir (favoriler, beğen): sadece rengi değil, dolguyu ve/veya iç noktayı da değiştir.

6) Simge + metin

Simgeler, önemli eylemlerdeki etiketlerin yerini almaz. Minimum çift: simge + kısa metin (veya 'aria-label'tarafından araç ipucu). Listelerde ve tablolarda simge, metnin ve satır taban çizgisinin başlık yüksekliğiyle hizalanır.

7) Kullanılabilirlik (A11y)

Dekoratif simgeler için:' role =" img" aria-hidden =" true"' veya akıştan erişilebilirliği kaldırın.
Anlamsal için: '<svg role = "img" aria-labelledby ='id ">' + '<title id ='id"> Description </title>' veya 'aria-label'.
Simge, durumun tek taşıyıcısı olmamalıdır: metin/ipucu/ikonografik desen (form, kontur) ekleyin.
Metin boyutu ve imza kontrastı WCAG (normal ≥ 4'e karşılık gelir. 5:1).

8) SVG boru hattı ve performansı

Neden SVG: vektör netliği, CSS ile şekillendirme, optimizasyon ile hafif.

Öneriler:
  • Ana dosyaları Figma'da saklayın, SVG'ye seçeneklerle dışa aktarın: ekstra'grup 'olmadan, varsayılan olarak' dolgu kuralı 'olmadan,' viewBox 'özniteliğiyle ve sabit' genişlik/yükseklik 'olmadan (CSS'de geçersiz kılma).
  • SVGO (proje profili) üzerinden çalıştırma: meta verileri silme, koordinatları azaltma, yolları birleştirme.
  • Simge fontlarını terk etme - erişilebilirlik ve oluşturma sorunları.
Gömme yöntemleri:

1. SVG sprite:

html
<svg style="display:none">
<symbol id="icon-upload" viewBox="0 0 24 24">…</symbol>
</svg>
…
<svg class="i"><use href="#icon-upload"></use></svg>

Ucuz tekrarlar, − bazı boru hatlarındaki 'çarpma genişliğini' kolayca değiştiremezsiniz.
2. Inline-SVG (React bileşeni): stil ve sahne esnekliği, ağaç sallama.
3. Harici '<img>' - sadece dekoratif/açıklayıcı için.

CSS kontrolü:
css
.i { width: 1em; height: 1em; color: var(--icon-color, currentColor); }
.i--muted { opacity:.64; }
.i--danger { color: var(--role-danger); }

9) Bileşen API'si (React örneği)

tsx type IconProps = {
name: 'upload'      'download'      'wallet'      'trophy'      'shield'      string;
size?: number      '1em'      'sm'      'md'      'lg';
stroke?: number;       // 1      1. 25      1. 5 title?: string;        // для a11y decorative?: boolean;     // если true -> aria-hidden className?: string;
};
Davranış:
  • Varsayılan olarak, 'size = "1em've' stroke = 1. 5`.
  • Eğer 'dekoratif'ise,' aria-hidden = 'true' ekleyin.
Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Telegram
@Gamble_GC
Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.