Tokens (JSON)

Grunder

Avstånd
& rörelse

Generöst med luft ovanför rubriker, tätare under. Rörelse används för att öppna former, inte för att dekorera.

Avstånd

Åttapunktsskala

Skalan går från --mg-space-2 (8 px) till --mg-space-9 (96 px). Det finns ingen --mg-space-1 och ingen --mg-space-10. En saknad token gör att hela CSS-deklarationen tyst ogiltigförklaras.

--mg-space-28 px
--mg-space-312 px
--mg-space-416 px
--mg-space-524 px
--mg-space-636 px
--mg-space-748 px
--mg-space-864 px
--mg-space-996 px
TokenpxAnvänds till
--mg-space-28Tätt mellan ikon och text
--mg-space-312Mellan rubrik och etikett
--mg-space-416Mellan relaterade element
--mg-space-524Standardavstånd mellan stycken och kort
--mg-space-636Kortpadding, mellan block
--mg-space-748Mellan rubrik och innehåll i en sektion
--mg-space-864Sektionspadding
--mg-space-996Stora sektioner, hero
Gör
  • Mer luft ovanför en rubrik än under
  • Samma avstånd mellan samma sorts block
  • Använd tokens, inte egna px-värden
Gör inte
  • Fylla varje yta till kanten
  • Mer luft under en rubrik än ovanför
  • Egna mellanvärden som 20 eller 40 px

Layout

En container, en vänsterkant

Allt innehåll delar vänsterkant med logotypen. Navigationen och innehållet använder samma container, samma bredd och samma sidomarginal.

TokenVärdeAnmärkning
--mg-wide1280 pxMax innehållsbredd, samma för navigation och innehåll
--mg-gutter20 / 40 pxSidomarginal: mobil, 600 px+
--mg-gutter-endminst --mg-gutterHögermarginal. Växer på sidor med sidospår så att innehållet aldrig hamnar under spåret
--mg-side-w192 pxSidospårets bredd
--mg-nav-h-compact56 pxHeaderns höjd i hamburgerläge efter scroll
--mg-nav-h72 pxNavigationens höjd
--mg-hext48 pxPolygonens förlängning under navigationen
--mg-header-h120 pxNavigation + förlängning. Innehållet på undersidor börjar här
.mg-wrap {
  max-width: var(--mg-wide);      /* 1280 px = 1200 px innehåll + 2 × 40 px */
  margin-inline: auto;
  padding-inline: var(--mg-gutter) var(--mg-gutter-end);
}

Brytpunkter

BreddHänder
≤ 599 pxEn kolumn, gutter 20 px, footer staplad
≥ 600 pxGutter 40 px, container max 1280 px (1200 px innehåll)
> 768 px med sidospårHögermarginalen växer så att innehållet håller 24 px avstånd till sidospåret
≤ 768 pxHamburgermeny ersätter navlänkar. Sidospåret döljs. Headern ligger kvar efter scroll och blir lägre (56 px)
≤ 900 pxTvåkolumnslayouter faller till en kolumn
Gör
  • Använd .mg-wrap för allt innehåll
  • Mät att logotyp, brödsmula och rubrik har samma vänsterkant
Gör inte
  • Egna max-width (960, 1080, 1140) på containrar som ska linjera
  • Egna clamp()-värden för sidopadding

Rörelse

Rörelse som öppnar former

Rörelsen är sparsam och har en uppgift: att ge en klickbar form liv, eller att flytta navigationen ur vägen.

Hover: formen öppnasKnapp

Erbjudandekort

Hovra: formen öppnas och bakgrunden går ett steg mörkare.

NamnEgenskapTidKurva
button-hoverclip-path350msease
card-hoverclip-path, background350msease
image-hoverclip-path400msease
header-collapseclip-path, padding-bottom400msease
header-rotatetransform600mscubic-bezier(0.4, 0, 0.6, 1)
side-nav-intransform, opacity420ms / 280mscubic-bezier(0, 0, 0.2, 1)
mobile-menutransform380mscubic-bezier(0, 0, 0.2, 1)
dropdownopacity, transform180msease
Gör
  • Animera clip-path och bakgrundsfärg
  • Respektera prefers-reduced-motion: inga transitions, formen öppnas inte
  • Håll tider mellan 180 och 600 ms
Gör inte
  • Studsande, roterande eller blinkande effekter
  • Rörelse som inte hjälper användaren
  • Parallax och scroll-jacking