GH GambleHub

Adaptives Design und Wendepunkte

1) Grundsätze

1. Content first: Layouts werden aus Aufgaben und Inhalten aufgebaut, nicht aus „populären“ Breiten.
2. Mobile-first: Wir beginnen mit einer strikten einfachen Option und werden komplizierter, wenn die Breite/Eingabefähigkeit wächst.
3. Progressive Verbesserung: Basic UX funktioniert ohne JS/Animationen; Verbesserungen werden durch Bedingungen verbunden.
4. Consistency: gleiche Muster - gleiches Verhalten auf allen Breakpoints.
5. Performance-aware: Bilder, Raster und Skripte passen sich an Gewicht und Komplexität an.


2) Bruchstellen (Breakpoints)

Wir wählen nach den Daten der realen Geräte und nach dem Wechsel des Musters (Spalten/Navigation/Typografie).

Empfohlenes Set (Benchmark)

AliasWiport, pxDie SpaltenBehälter (max-width)Gutter
XS320–5994fluid16
SM600–8396560–58416
MD840–11998760–80820
LG1200–1439121104–115224
XL≥1440121280–132024–32
Regeln:
  • Breakpoint wird nur eingeführt, wenn sich die Struktur ändert (z. B. 1→2 von Kartensäulen, Auftreten einer Sidebar).
  • Lokale Unterbrechungen innerhalb der Komponente (Container Requests) sind zulässig.

3) Containerabfragen vs Medienabfragen

Bei Medienanfragen'@ media': das Layout der gesamten Seite (Navigation, Vorlage) ändert sich.
Wenn Container'@ container': Die Karte/Widget muss sich an seine verfügbare Breite anpassen (die Komponente ist unabhängig von der Seite).

css
/ Включаем контейнерную оценку для блока /
.widget { container-type: inline-size; }

/ Внутри — адаптируем карточку по ширине контейнера /
@container (min-width: 520px) {
.card { grid-template-columns: 1fr 1fr; }
}

Verwenden Sie das Bundle: Medien für Seitenrahmen + Container für Komponenten.


4) Typografie: fluid + Schritte

Kombinieren Sie' clamp () 'und breakpoints Schritte.

css
:root {
/ Базовая fluid-гарнитура /
--fs-body: clamp(15px, 1.2vw + 0.2rem, 18px);
--fs-h2:  clamp(20px, 1.6vw + 0.4rem, 24px);
}
body { font-size: var(--fs-body); line-height: 1.55; }
h2  { font-size: var(--fs-h2);  line-height: 1.3; }
@media (min-width: 1200px) {
h2 { letter-spacing:.005em; } / тонкая настройка на LG+ /
}
Regeln:
  • Die Länge der Zeile beträgt 45-80 Zeichen (auf Sidebars 36-60).
  • Die Schritte der Größen sind Vielfache von 4/8-pt; line-height ist stabil durch breakpoints.

5) Gitter und Module

Auf der Ebene der Abschnitte - CSS Grid (Spalten, Bereiche); innen - Flex.
Die Bauteilhöhen sind Vielfache der Baseline (z.B. 40/48/56 px).
Wir haben 2 Dichtevoreinstellungen: Comfort (Lesen/Dashboards) und Compact (Tabellen/Pro).

css
.container {
display: grid; gap: 24px;
grid-template-columns: repeat(12, minmax(0,1fr));
max-width: 1280px; margin: 0 auto; padding: 0 16px;
}
@media (max-width: 1199px) {.container { grid-template-columns: repeat(8,1fr); gap: 20px; }}
@media (max-width: 839px) {.container { grid-template-columns: repeat(6,1fr); gap: 16px; }}
@media (max-width: 599px) {.container { grid-template-columns: repeat(4,1fr); }}

6) Bilder und Medien

Verwenden Sie' srcset '/' sizes' und die automatische Dichteauswahl:
html
<img src="card-640.jpg"
srcset="card-640.jpg 640w, card-960.jpg 960w, card-1280.jpg 1280w"
sizes="(min-width:1200px) 33vw, (min-width:840px) 50vw, 100vw"
alt="Описание">
Fixieren Sie die Proportionen, um CLS zu vermeiden:
css
.media { aspect-ratio: 16/9; object-fit: cover; }

Für Hintergründe gibt es' image-set () 'und lazy-loading.
Der Text im Bild - nur auf der Platte/Overlay; Der Kontrast ≥ AA.


7) Navigation und responsive-Muster

XS/SM: bottom-nav oder hamburger, sichtbar durch CTA; versteckte Suche wird oben aufgedeckt.
MD: persistent-sidebar/mega-menu erscheint.
LG/XL: zwei Navigationsebenen, Schnellfilter, Brotkrümel.

Verhalten: Elemente „bewegen“ sich nicht chaotisch - immer eines der zuvor beschriebenen Schemata.


8) Eingabe: hover/touch/keyboard

Wir ermitteln die verfügbaren Funktionen des Geräts:
css
@media (hover: hover) and (pointer: fine) { / hover-эффекты / }
@media (hover: none), (pointer: coarse)  { / touch-паттерны / }
:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 2px; }
Regeln:
  • Keine kritischen Inhalte „nur im Hover“.
  • Klickzonen: ≥ 44 × 44 (mobil) ≥ 32 × 32 (Desktop)
  • Die Tastatur wird auf allen Breakpoints unterstützt.

9) Sicherheitszonen und Systemausschnitte

Auf dem Handy berücksichtigen wir die Safe-Area:
css
.page {
padding-left: max(16px, env(safe-area-inset-left));
padding-right: max(16px, env(safe-area-inset-right));
padding-bottom:max(16px, env(safe-area-inset-bottom));
}

10) Dunkle/helle Themen und Kontrast

Die Themen sind unabhängig von Breakpoints: Die Ziele des Kontrastes sind überall gleich.
Bei XS vermeiden wir „saure“ Akzente; Wir erhöhen die Helligkeit von Links auf einem dunklen Hintergrund.
Unterstützung für 'prefers-color-scheme' und Handschalter.


11) Produktivität

Critical CSS - inline oder über 'media = „print “/preload Strategie; JS wird verzögert geladen.
Vermeiden Sie Layout-schwere Animationen auf langen Listen; animieren Sie' opacity/transform'.
Faules Laden von Bildern/Widgets; Skelett statt Spinner.
Begrenzen Sie „schwere“ Schatten/Filter auf Dutzende von Karten.


12) Design-System-Token (Beispiel)

json
{
"breakpoints": { "xs": 360, "sm": 600, "md": 840, "lg": 1200, "xl": 1440 },
"container":  { "sm": 584, "md": 808, "lg": 1152, "xl": 1320 },
"columns":   { "xs": 4, "sm": 6, "md": 8, "lg": 12 },
"gutter":   { "sm": 16, "md": 20, "lg": 24, "xl": 32 },
"space":    { "xs": 4, "sm": 8, "md": 12, "lg": 16, "xl": 24, "2xl": 32 }
}
CSS-Ebene:
css
:root {
--bp-sm: 600px; --bp-md: 840px; --bp-lg: 1200px; --bp-xl: 1440px;
--container-lg: 1152px;
}
@media (min-width: var(--bp-lg)) {
.container { max-width: var(--container-lg); }
}

13) Komponentenworkshop (Containerpausen)

Merchandise/Turnierkarte:
css
.card { display: grid; gap: 12px; container-type: inline-size; }
.card__media { aspect-ratio: 4/3; }
@container (min-width: 420px) {
.card { grid-template-columns: 1fr 1.2fr; align-items: center; }
.card__media { aspect-ratio: 16/9; }
}
Koeffiziententabelle:
  • XS: Stapelansicht (Label links, Wert rechts, Blöcke).
  • SM +: horizontales Scrolling nur bei Spaltenüberschuss, wir fixieren die Kappe/erste Spalte.
  • Die Zahlen sind tabular-nums, die Ausrichtung ist dezimal.

14) Lokalisierung und RTL

'dir =' rtl''+': dir (rtl) 'zum Spiegeln von Icons/Pfeilen/Margin-s.
Übersetzungen können die Länge der Zeilen um 20-30% erhöhen - legen Sie einen Vorrat an.
Bei einigen Schreibweisen (z. B. Georgisch/Thai) erhöhen Sie den Basiskegel um 1 px.


15) Besonderheiten von iGaming

Turnier-/Bonuskarten: Raster 3 × N (LG), 2 × N (MD), 1 × N (SM/XS); Der CTA und die Bedingungen sind in einer permanenten Zone.
Leader/Ratings: Sticky-Cap/erste Spalte; auf XS - Stacked-Modus; Die Zahlen sind monoextensiv.
Zahlungsformen: auf XS - einspaltig; auf MD - 2 Spalten (Feld + Erklärung).
Verantwortungsvolle Benachrichtigungen (18 +, Limits, Risiken): immer auf allen Breakpoints sichtbar, AAA-Kontrast, kein „Hidden in Hover“.


16) Anti-Muster

Feste Blockbreiten statt Raster/Spalten.

„Wendepunkt um jeden Pixel“: Zu viele Medienanfragen → Chaos

Gebrochener Rhythmus: verschiedene gutter/Felder in benachbarten Abschnitten ohne Grund.
Kritischer Text im Bild ohne Stempel.
Inhalte, die nur bei Hover verfügbar sind (bei Touch unerreichbar).
Animationen von Layout-Eigenschaften auf langen Listen.


17) QS-Checkliste

Gitter und Behälter

  • Spalten und Gutter entsprechen Breakpoints; Die Container sind zentriert.
  • Die Komponenten „fließen“ korrekt 1→2→3 die Lautsprecher, ohne zu brechen.

Typografie

  • Zeilenlänge 45-80; Fluid-Stifte durch 'clamp ()'.
  • Der Kontrast des Textes entspricht in beiden Themen der WCAG.

Darstellungen

  • Есть `srcset/sizes`, `aspect-ratio` и lazy-loading; kein CLS.

Eingabe und A11y

  • Die Navigation mit der Tastatur;': focus-visible' ist sichtbar.
  • Alternative Hover auf Touch; Klickzone ≥ 44 × 44.
  • 'prefers-reduced-motion' wird unterstützt.

Produktivität

  • Nur 'transform/opacity' wird animiert; schwere Wirkungen sind begrenzt.
  • Kritische CSS/JS werden effizient geladen.

18) Dokumentation im Konstruktionssystem

„Responsive & Breakpoints“: Tabelle der Breakpoints, Container, Lautsprecher und Gutter.
„Container Queries“: Beispiele für adaptive Komponenten.
„Fluid Type“: Formeln 'clamp ()' und Voreinstellungen für Skalen.
„Navigationsmuster“: XS/SM/MD/LG/XL-Varianten.
„Do/Don't“ mit kurzen Clips und CLS/LCP-Werten.


Kurze Zusammenfassung

Anpassungsfähigkeit ist eine Strategie, keine Ansammlung von chaotischen Medienanfragen. Nutzen Sie Geräteinhalte und -analysen, kombinieren Sie Medienanfragen mit ausgereiften Gitter- und Containeranfragen, wenden Sie „clamp ()“ für Typografie an, steuern Sie Bilder und Leistung, unterstützen Sie alle Eingabe- und A11y. So bleibt die Schnittstelle vorhersehbar, schnell und auf jedem Bildschirm gleichermaßen benutzerfreundlich.

Contact

Kontakt aufnehmen

Kontaktieren Sie uns bei Fragen oder Support.Wir helfen Ihnen jederzeit gerne!

Integration starten

Email ist erforderlich. Telegram oder WhatsApp – optional.

Ihr Name optional
Email optional
Betreff optional
Nachricht optional
Telegram optional
@
Wenn Sie Telegram angeben – antworten wir zusätzlich dort.
WhatsApp optional
Format: +Ländercode und Nummer (z. B. +49XXXXXXXXX).

Mit dem Klicken des Buttons stimmen Sie der Datenverarbeitung zu.