GH GambleHub

Hover efektleri ve etkileşim

1) UX'de rehberlik rolü

Hover/press/focus bir geri bildirim dilidir. Kullanıcı hemen anlamalıdır:
  • "İnteraktif mi?" (hover/imleç/vurgu)
  • "Neredeyim ben?" (odak stili),
  • "Tıklama ile ne olur?" (statü ve maliyet),
  • "Eylem işe yaradı mı?" (aktif/basılı ve sonraki geribildirim).

İlke: Etkiler anlamı güçlendirir, değiştirmez. Önemli bilgiler ve eyleme erişim sadece vurgunun arkasına gizlenmemelidir.

2) Devlet modeli ve semantik

Temel küme: 'default' - 'hover' - 'focus' - 'active/pressed' - 'disabled' - 'loading' (isteğe bağlı).
Bağlantılar için 'visited', anahtarlar için - 'checked' ekleriz.

Ayırt edici gereksinimler:
  • Durumlar arasında - şekil/kalınlık/simgede görsel bir fark, sadece renk değil.
  • Arka planda metin/simge kontrastı: ≥ 4. 5:1 (düz metin), ≥ 3:1 (büyük/kalın).
  • Odak, işaret etmeden görülebilir (klavye/ekran okuyucu).

3) Cihazlar ve medya istekleri

Her şeyin bir havası yoktur. Farklı girdi türleri için etkileşimi planlayın:
css
/ There is an exact pointer and hover (mouse/trackpad )/
@ media (hover: hover) and (pointer: fine) {/hover effects/}

/ No hover or rough pointer (touch/remote control )/
@ media (hover: none), (pointer: coarse) {/alternatives to hover/}

/ Any type of pointer (hybrid devices )/
@ media (any-hover: hover) {/minimal improvements/}
Kurallar:
  • Dokunmatik cihazlarda, işaretleme efektleri eylemi tespit etmek için kritik değildir - açık fiyatlar kullanın: renk/simge/çerçeve/ipucu.
  • Gezinme/denetimleri yalnızca "gezinme altında" gizlemeyin.

4) Süreler ve eğriler

Kısa ve öngörülebilir:
  • Hover: 120-180ms
  • Odak: 120-180ms
  • Aktif/Preslenmiş: 80-120 мс
  • Dalgalanma/mürekkep (kullanılıyorsa): ≤ 240 ms, 1 döngü

Varsayılan eğri 'cubic-bezier (0. 2, 0, 0. 2, 1)`

Etkin - daha hızlı ('kübik-bezier (0. 4, 0, 1, 1) '), çıkış daha yumuşaktır (' kübik-bezier (0, 0, 0. 2, 1)`).

5) Tasarım sistemi belirteçleri (örnek)

json
{
"interactive": {
"duration": { "hover": 160, "focus": 160, "active": 90 },
"easing": { "std": "cubic-bezier(0. 2,0,0. 2,1)", "acc": "cubic-bezier(0. 4,0,1,1)" },
"shadow": { "hover": "var(--elev-2)", "focus": "0 0 0 3px var(--focus-ring)" },
"opacity": { "disabled": 0. 38, "muted": 0. 64 }
}
}

6) Düğmeler: referans deseni

Varsayılan: okunabilir metin ≥ 4. 5:1 doldurmak için.
Hover: − Δ L arka plan 0. 02–0. 04, ışık gölgesi, işaretçi '.
Etkin: L 0 − daha fazla Δ. 02–0. 04, kısaltılmış gölge/girinti (ölçek 0. 98), sürer. 80-100 ms.
Odak: bulanıklık olmadan kontrast halkası 2-3 px.
Devre dışı: курсор 'izin verilmiyor'/' varsayılan', opaklık ≤ 0. 38, hover etkisi yok.

css
.button {
transition: background-color. 16s var(--ease), transform. 09s var(--ease-acc), box-shadow. 16s var(--ease);
}
@media (hover:hover) and (pointer:fine) {
.button:hover  { background: var(--btn-bg-hover); box-shadow: var(--shadow-hover); }
}
.button:active  { transform: scale(.98); }
.button:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--focus-ring); }
.button[disabled] { opacity:.38; pointer-events: none; }

7) Bağlar ve metin eylemleri

Sadece renge göre ayırt etme: varsayılan olarak veya hover/focus üzerinde altını çizin.
Rehberlik için: altı çizili geliştirme (kalınlık/ofset), tonda hafif değişiklik.
'Ziyaret edilen' aynı paletin farklı bir tonudur, kontrast korunur.

css a { text-decoration: underline; text-underline-offset:.12em; }
@media (hover:hover) and (pointer:fine) {
a:hover { text-underline-offset:.2em; }
}
a:focus-visible { outline: none; box-shadow: 0 0 0 3px var(--focus-ring); }

8) Kartlar, listeler, tablolar

Kartlar:
  • Vurgulu: yumuşak gölge/çerçeve vurgusu, imleç 'işaretçisi' yalnızca tüm kart tıklanabilir ise.
  • Etkin: kısa girinti, başlık vurgusu.
  • Odak: sadece içeride değil, kartın etrafında görünür bir halka.
Tablo satırları:
  • Arka planı Δ L 0 ile gezdirin. 02–0. 04; Etkin satır açık bir kenarlıktır.
  • Bir satırda tıklamalara yalnızca açık bir şekilde izin verilir ("-" simgesi, ipucu).
Listeler:
  • Kaskad gecikmelerinin "merdivenini" dikkatlice sınırlayın - maksimum 6-8 eleman (20-30 ms stagger).

9) Giriş formları ve alanları

Alanlar için gezinme: çerçevenin ince arka aydınlatması (Δ L ~ 0. 05), blok boyutunu değiştirmeden.
Odak: kontrast halkası + çerçeve renk değişimi; Yer tutucu ayırt edilebilir kalır (≥ 3:1).
Hata: renk + simge/metin; Kısa "shake'bir kez 6 px, ≤ 140 ms ≤ geçerlidir.

10) Simgeler ve küçük hedefler

Simgenin kendisi 20-24 piksel olsa bile, tıklama bölgesini 32 × 32 (masaüstü )/40 × 40 (mobil) değerine yükseltin.
Hover: opaklığı/dolguyu/kalınlığı, maksimum 1-2 özelliği değiştirir.
Etkin: 0 ölçeğine göre kısa "yapışma". 98.
Focus: Zone container'ı tıklatarak çalın.

11) Erişilebilirlik (A11y) ve klavye

Destek ': focus-visible' (fare için odak stilleri göstermiyoruz, klavye için gösteriyoruz).
Vurgulu ipuçları oluşturan öğelerin bir odak eşdeğeri olmalıdır (Sekme/Enter tuşunda aynı içerik görüntülenir).
Aria-nitelikleri: etkileşimler duruma göre 'role', 'aria-pressed'/' aria-expanded'/' aria-current' özelliğine sahiptir.
Prefers-reduced-motion: scale/shift öğesini minimum (opaklık/dolgu) ile değiştirin, dalgalanmaları kapatın.

css
@media (prefers-reduced-motion: reduce) {
{ transition-duration:.01ms! important; animation: none! important; }
}

12) Performans

Yalnızca 'opaklığı've' dönüştürmeyi 'canlandırın; 'width/height/left/top', birden fazla öğede ağır bulanıklık/gölgelerden kaçının.
'Will-change'i idareli kullanın; geçiş tamamlandıktan sonra geri çekin.
Listelerde/tablolarda - minimal efektler, "global" yeniden boyama olmadan.

13) Hover-niyet ve "yapışkanlık"

Masaüstünde, yanlış vurgulu tetikleyicileri azaltın:
  • Karmaşık bir araç ipucu/menü göstermeden önce gecikme eşiği 80-120 ms'dir.
  • İmlecin "yapışkanlığı": kullanıcı öğeden menüye bir açıyla hareket ederse, 200-300 ms "koridor" (Fitts üçgeni) veririz.
  • Bir dokunuşla - basın veya açık bir'daha "düğmesiyle değiştirin.

14) Araç ipucu/menüler/açılır menüler

Açma: hover-intent (desktop )/press (touch), closing - care/blur/ESC.
Konum - kaynağa, ok hizalanır; maks. Genişlik ve tireleme etkinleştirildi.
Kullanılabilirlik: 'Role = "tooltip"', associate 'aria-description by'; Menü için - 'role = "menu"' + ok kontrolü.

15) iGaming'in özellikleri

Katsayılar/afişler: Vurgulu satır/hücreyi vurgular, ancak konumlandırma metriklerini değiştirmez ("sıçramalar" olmadan).
Turnuva/bonus kartları: hover, çerçeveyi/simgeyi "canlandırabilir", ancak metin CTA'sı ve koşulları okunabilir kalır (≥ 4. 5:1).
Sorumlu bildirimler (18 +, limitler): dikkat dağıtıcı etkiler olmadan; Gezinme yalnızca bağlantıların altını çizmeye ve net odaklanmaya izin verir.
Bet/buy butonları: Aktif geribildirim zorunludur (görsel tıklama/girinti) ve gönderildikten sonra açık bir şekilde devre dışı bırakılır.

16) Arayüz tarifleri örnekleri

Düğme-CTA (açık/koyu):
css
.cta {
background: var(--role-primary);
color: var(--on-primary);
transition: background-color. 16s var(--ease), transform. 09s var(--ease-acc), box-shadow. 16s var(--ease);
}
@media (hover:hover) and (pointer:fine) {
.cta:hover { background: var(--role-primary-hover); box-shadow: var(--elev-2); }
}
.cta:active { transform: scale(.98); }
.cta:focus-visible { box-shadow: 0 0 0 3px var(--focus-ring); }
Kart:
css
.card { transition: box-shadow. 16s var(--ease), border-color. 16s var(--ease); }
@media (hover:hover) and (pointer:fine) {
.card:hover { box-shadow: var(--elev-2); border-color: var(--border-strong); }
}
.card:focus-visible { box-shadow: 0 0 0 3px var(--focus-ring); }
Tablo satırı:
css
.table tr { transition: background-color. 12s var(--ease); }
@media (hover:hover) and (pointer:fine) {
.table tr:hover { background: var(--row-hover); }
}
.table tr:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: -2px; }

17) Anti-desenler

Yalnızca gezinme için kritik eylemleri/menüleri gizleyin.
Hover'da boyut/mizanpaj değiştirme (mizanpaj sıçramaları).
Durumları ayırt etmek için sadece renge güvenin.
Titreme, sonsuz titreşimler, metinlerde "asit" parlaması.
Odak stilleri eksikliği veya karanlık bir tema üzerindeki görünmezlikleri.
Etkileşimli olmayan öğeler üzerinde 'işaretçi' üzerine gelin.

18) KG kontrol listesi

Kullanılabilirlik

  • Tüm etkileşimlere klavye ile ulaşılabilir; Görüyoruz odaklanıyoruz.
  • Hover içeriği 'focus'/' aria'ile kullanılabilir.
  • Metin ve simgelerin kontrastı WCAG'ye karşılık gelir.

Davranış

  • Hover/active/disabled/visited şekil ve ton ile ayırt edilebilir.
  • Yanıt gecikmesi yok> 120ms.
  • Dokunuş üzerinde durmanın bir alternatifi var.

Performans

  • Sadece 'transform'/' opacity' animasyonludur.
  • Birden fazla öğede ağır bulanıklık/gölge yok.
  • Uzun listelerde, etkiler en aza indirgenir.

19) Tasarım sistemindeki belgeler

Temel bileşenler için durum tablosu (düğmeler, bağlantılar, kartlar, alanlar, tablo satırları).
Süre/eğri/gölge belirteçleri ve açık/karanlık için örnek kod.
"Hover vs Touch" bölümü: alternatiflerin ve örneklerin kuralları.
Kısa klipler ve kontrast puanlarıyla "Yap/Yapma".

Kısa Özet

Hedefleme efektleri, arayüz dilinin yardımcı ancak kritik bir parçasıdır. Onları kısa ve öngörülebilir tutun, klavyeyi ve dokunmayı koruyun, kontrast ve görünür odak sağlayın, yalnızca ucuz özellikleri canlandırın. Daha sonra etkileşim, onları engellemek yerine netliği ve eylem hızını arttırır.

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.