GH GambleHub

Sistem grilă și modularitate

1) De ce plasă

Grila oferă un comportament previzibil de interfață pe măsură ce conținutul și ecranele cresc:
  • accelerează proiectarea și dezvoltarea (limbaj comun: „12 coloane, jgheab 24”)
  • reduce sarcina cognitivă (chiar ritm, linii stabile),
  • Crește portabilitatea componentelor între pagini
  • vă permite să construiți o bibliotecă modulară fără „microlay”.

2) Elemente de plasă de bază

Container - lățimea maximă a conținutului, zona centrată.
Coloane - zone verticale pentru plasarea modulelor.
Jgheab - spațiu orizontal între coloane.
Marja - câmpuri externe la stânga/dreapta a containerului.
Row/Track - ghid orizontal (în CSS Grid - linii/piste).
Linia de bază - grila de tipografie verticală.

Ritm vertical recomandat: 8-pt (uneori 4-pt pentru nuanțe), unități de dimensiuni și liniuțe sunt multipli de 4/8.

3) Puncte de rupere și containere

Pick up breakpoints din analiza dispozitivului real. Exemplu:
PunctLățimea ieșiriiNumărul de coloaneContainerJgheab
XS≥ 3604lichid16
SM≥ 6006560–58416
MD≥ 8408760–80820
LG≥ 1200121104–115224
XL≥ 1440121280–132024–32
Reguli:
  • Container raster (fix. lățime maximă) pe ecrane mari, fluid - pe mobil.
  • Jgheabul poate crește fără probleme la puncte de întrerupere mari.
  • Coloane - 4/6/8/12 ca „set de bază”.

4) Modularitate și densități

Modul - un bloc de conținut care ocupă 1..N coloane și multipli de înălțimi de bază.

Densităţi:
  • Confort (tablouri de bord, citire): fonturi mai mari, liniuțe 16-24.
  • Compact (tabele, pro-mod): fonturi + 0/ − 1 px, liniuțe verticale − 4/ − 8, înălțimile rândului sunt fixe (multipli de 8).

Componentele trebuie să aibă două presetări de densitate minimă.

5) Tipografie și grila de bază

Selectați înălțimea de bază a liniei (de exemplu, 24 px) și sincronizați înălțimile elementelor (butoanele 40/48/56 px sunt multipli ai liniei de bază).
Rubricile ancoră ritmuri verticale: liniuțele de mai sus/de mai jos sunt multipli de 8.
Aliniaţi pictogramele la înălţimea textului.

6) Șabloane de aspect

6. 1 Carduri

Grilă: mozaic (fix. lățimea cardului) sau coloană (card = N coloane).
Înălțimi minime de conținut pentru a evita „săriturile” la încărcare; schelet în interiorul cardului.
Căptușeală internă: 16/20/24 în funcție de punctul de rupere.

6. 2 Tabele

Container cu lățime completă; înghețați prima coloană/capac atunci când defilați orizontal.
Celulele sunt de bază; coloanele numerice sunt aliniate cu cifre/zecimale.
Pe XS - „aranjament stivuit” în loc de defilare orizontală dacă există prea multe coloane.

6. 3 Formulare

O singură coloană pe XS/SM, două sau trei coloane pe MD + (ținând cont de logica filelor/secțiunilor).
Câmpul + eticheta + textul de ajutor se potrivesc într-un modul comun (înălțimile sunt multipli de 8).

6. 4 Tablouri de bord

Grilă cu piste fixe și nori (zone) pentru stabilitate.
Widget-urile au lățimi minime și maxime în coloane; înălțimile sunt multipli ai liniei de bază.
La resaying - numărul de coloane se schimbă, nu împărțiți arbitrar widget-urile.

7) Adaptabilitate, auto-aspect și comportament

Conținut în fața grilei: Grila se adaptează conținutului, mai degrabă decât ruperea acestuia.

Figma/Auto-layout:
  • Utilizați constrângeri (stânga/dreapta/centru) și auto-layout pentru carduri/liste.
  • Opțiuni de componente de asistență pentru XS/SM/MD/LG (schimbarea padingurilor, ordinea sloturilor).
CSS:
  • La nivel de secțiune - CSS Grid (zone, coloane, rânduri).
  • În interiorul componentelor - Flex (axe, echilibru de spații).

8) CSS Grid/Flex - Atelier

Container și 12 grilă coloană:
css
.container {
max-width: 1280px; margin: 0 auto; padding: 0 16px;
display: grid; gap: 24px;
grid-template-columns: repeat(12, minmax(0, 1fr));
}
.col-4 { grid-column: span 4; }
@media (max-width: 1199px) {
.container { grid-template-columns: repeat(8, 1fr); gap: 20px; }
.col-4 {grid-column: span 8; }/full-width card/
}
@media (max-width: 839px) {
.container { grid-template-columns: repeat(6, 1fr); gap: 16px; }
}
@media (max-width: 599px) {
.container { grid-template-columns: repeat(4, 1fr); }
}
Zone grilă (tablou de bord):
css
.dashboard {
display: grid; gap: 24px;
grid-template:
"kpi kpi chart chart" auto
"tbl tbl chart chart" 1fr / 1fr 1fr 1fr 1fr;
}
.kpi  { grid-area: kpi; }
.chart { grid-area: chart; }
.tbl  { grid-area: tbl; }
@media (max-width: 1199px) {
.dashboard { grid-template:
"kpi" auto "chart" auto "tbl" 1fr / 1fr; }
}

9) Liniuțe și jetoane

Scale de captare în sistemul de proiectare.

json
{
"space": { "xs": 4, "sm": 8, "md": 12, "lg": 16, "xl": 24, "2xl": 32, "3xl": 48 },
"container": { "sm": 584, "md": 808, "lg": 1152, "xl": 1320 },
"gutter": { "sm": 16, "md": 20, "lg": 24, "xl": 32 },
"columns": { "xs": 4, "sm": 6, "md": 8, "lg": 12 }
}
Reguli:
  • Liniile interne ale componentelor sunt din „spațiu”.
  • Câmpurile exterioare ale containerelor sunt de la „jgheab ”/„ marjă”.
  • Înălțimile elementelor sunt multipli de 8 (40/48/56).

10) Componente modulare

Componenta trebuie:
  • știu câte coloane este nevoie pe fiecare breakpoint;
  • au dimensiuni minime/maxime;
  • nu depindeți de pixeli „magici” - numai jetoane;
  • păstrați grila internă (titlu, conținut, subsol) pe linia de bază.

11) Imagini și porțiuni media

Fixați raportul de aspect (de ex. 16/9, 4/3, 1/1) pentru previzualizări și cărți.

css
.media { aspect-ratio: 16 / 9; object-fit: cover; }

Pe XS, utilizați sângerare completă (imagine în jurul marginilor) numai pentru promo, restul conținutului urmează containerul.
Text imagine - numai pe alunecări/suprapuneri, contrast ≥ AA.

12) RTL și localizare

Direcția grilei oglindește: 'dir =' rtl' și ': dir (rtl)' -rules pentru liniuțe/pictograme.
Ordinea coloanelor și coloanele înghețate în tabele - luați în considerare oglindirea.
Lungimea liniilor și transferurile pot schimba înălțimile modulelor - stabilesc stocul.

13) Specificul iGaming

Zone promoționale și bannere: o grilă separată cu module mari; textul este întotdeauna pe placă, contrast AAA pentru notificări critice (18 +, limite, riscuri).
Lideri/evaluări: tabelele cu o primă coloană fixă și un antet lipicios, numerele tabulare (numere tabulare), înălțimile rândului sunt multipli de 8.
Tablouri de bord ale jucătorilor/operațiunilor: widget-uri (sesiuni, depozite, RTP, depozite nete) ocupă 3-6 coloane pe o grilă de 12; cascadă reconstrui pe MD/SM.
Carduri de turneu: grila de carduri 3 × N (LG), 2 × N (MD), 1 × N (SM/XS); CTA într-o locaţie permanentă.

14) Accesibilitate și concentrare

Inelele de focalizare nu trebuie să rupă ritmul: adăugați contur-offset sau un pseudo-element intern.
Dimensiune minimă clic: 44 × 44 (mobil )/32 × 32 (desktop).
Nu codifica sensul doar prin plasare; Salvați etichetele de text și atributele Aria.

15) Performanță

Reduceți adâncimea grilelor de cuibărit: 1 secțiune principală a grilei + flexuri în interior.
Evitați umbrele/măștile grele pe sute de carduri; Utilizați stiluri plate în liste.
Încărcarea leneșă a conținutului media; proporțiile fixe previn CLS.

16) Antipattern

„Grilă pentru a gusta” consistență → se prăbușește pe fiecare pagină.
Jgheabul variază arbitrar în funcție de secțiune.
Densități inconsecvente (atât compact și confort într-un singur ecran).
Componente dependente de lățimea magică (fără coloane/jetoane).
Tabele cu defilare orizontală pe mobil fără aspect alternativ.
Text în imagine fără moare și control de contrast.

17) Lista de verificare QA

Structura

  • Coloanele/containerul/marginile corespund punctelor de întrerupere.
  • Jgheabul este stabil în cadrul paginii.
  • Înălțimile și liniuțele sunt multipli de 8.

Componente

  • Lățimi de coloană (XS.. XL) și min/max sunt definite.
  • Grilele interne sunt aliniate cu linia de bază.

Tabele/formulare

  • Capac lipicios/prima coloană; modul stivuit pe XS.
  • Câmpurile de formular sunt multipli ai liniei de bază; etichetă/ajutor text nu „sari”.

A11y

  • Focus stiluri nu rupe ritmul; zonele clicii ≥ minime.

Performanță

  • Nici un CLS din cauza blocurilor media; încărcarea leneșă este activată.

18) Jetoane și documentație în sistemul de proiectare

Publicarea paginii Grid & Spacing:
  • valorile „container”, „coloane”, „jgheab”, „spațiu”, linie de bază;
  • exemple de machete (carduri/tabele/formulare/tabele de bord);
  • presetările de densitate (Comfort/Compact) și efectul lor asupra componentelor;
  • fragmente de cod pentru CSS Grid/Flex și Figma stiluri/machete.

Scurt rezumat

Grid este un contract între proiectare și dezvoltare. Capturați puncte de întrerupere, containere, boxe și ritm de 8 pt, proiectați jetoane și șabloane de aspect, oferiți opțiuni de densitate, adaptabilitate și disponibilitate. Apoi paginile scalează previzibil, componentele sunt reutilizate, iar comanda este mai rapidă și mai stabilă.

Contact

Contactați-ne

Scrieți-ne pentru orice întrebare sau solicitare de suport.Suntem mereu gata să ajutăm!

Pornește integrarea

Email-ul este obligatoriu. Telegram sau WhatsApp sunt opționale.

Numele dumneavoastră opțional
Email opțional
Subiect opțional
Mesaj opțional
Telegram opțional
@
Dacă indicați Telegram — vă vom răspunde și acolo, pe lângă Email.
WhatsApp opțional
Format: cod de țară și număr (de exemplu, +40XXXXXXXXX).

Apăsând butonul, sunteți de acord cu prelucrarea datelor dumneavoastră.