Grille

TODO expliquer pourquoi on utilise une grille TODO expliquer les enjeux de responsivité liés à la grille

Breakpoints

Les points de rupture pour le responsive se base sur une double logique :

  • Nous nous appuyons sur les breakpoints proposés par bootstrap. Ces derniers sont éditables dans le fichier de configuration.sass
    $grid-breakpoints: (xs: 0, sm: 576px, md: 768px, desktop: 992px, lg: 992px, xl: 1200px, xxl: 1440px) !default
  • Nous y ajoutons le breakpoint nommé ‘desktop’, équivalent au breakpoint ’lg’ de façon à appeler dans le mixin de breakpoint-media-up / breakpoint-media-down avec le nommage “desktop”
  • Les variables dans config ont un suffix -desktop

Débuggage

Vous pouvez afficher la grille desktop de 12 colonnes en appuyant sur ctrl + g. Le code de la grille (html, css, et js) se trouve dans le partial footer/debug.html

Ce débuggage n’est pas disponible en mode production (!hugo.IsProduction)

Les spacings

Le thème prévoit 6 espacements différents, calculés en REM à partir de multiple de 12px. Nous utilisons des valeurs en REM de façon à conserver les proportions d’espacements entre les éléments peut importe les préférences d’affichage de la taille de texte de l’utilisateur.

Questionnement Comment préciser l’impact sur le design system de changement de ces valeurs ?

$spacing0: px2rem(12) !default
$spacing1: px2rem(24) !default
$spacing2: px2rem(48) !default
$spacing3: px2rem(64) !default
$spacing4: px2rem(128) !default
$spacing5: px2rem(256) !default

La grille par défaut

Le plugin CSS Grid Overlay permet d’afficher la grille de son choix, et facilite le développement.

Configuration par défaut de la grille du Thème Osuny

[
  {
    "columns": 6,
    "from": 0,
    "gutters": 10,
    "margins": 20,
    "maxWidth": 1024,
    "to": 1023
  },
  {
    "columns": 12,
    "from": 840,
    "gutters": 32,
    "margins": 64,
    "maxWidth": 1980,
    "to": 7680
  }
]

Espacement verticaux

Blocs

Difficultés rencontrées : Comment gérer les espacements verticaux entre les blocs et les divers contenus des pages (sidebar ou pleine largeur) ? Gestion des séquences de bloc : certains blocs possèdent des fonds de couleur, il ne faut alors pas créer d’espaces en trop entre ces blocs. L’usage de padding top/bottom uniquement est une piste.

Utilisation de margin uniquement :

  • Ne permet pas de gérer simplement les blocs avec des fonds de couleurs

Utilisation de margin-top uniquement :

Usage des unités

On favorise l’usage de REM pour l’adaptation au préférences utilisateurs.

Utilisation des ex

On utilise à certains endroit l’unité ex (“La hauteur d’x de la police de l’élément.” https://developer.mozilla.org/fr/docs/Learn/CSS/Building_blocks/Values_and_units ). Cela permet de gérer les alignements verticaux en fonction de la taille de caractère.

image