Aller au contenu
Foulée

Fondamentaux

Espacements

Marges, paddings et écarts suivent une seule échelle, la cadence : neuf pas, de 4 à 96 pixels. Les espacements s'appliquent avec des classes utilitaires dans le HTML, ou avec les variables --j6n-space-* dans votre CSS.

Échelle de cadence — --j6n-space-*

Le chiffre du token est aussi celui des classes utilitaires : --j6n-space-4 correspond à .j6n-mt-4, .j6n-p-4, .j6n-gap-4… La valeur 0 annule l'espacement et ne correspond à aucun token.

Correspondance des tokens d'espacement
TokenpxremAperçuSuffixeUsage typique
--j6n-space-140.25-1valeur et son libellé, liens de navigation, onglets
--j6n-space-280.5-2icône et texte, petits écarts internes
--j6n-space-3120.75-3éléments en ligne, marge sous les titres
--j6n-space-4161-4blocs empilés, marge sous les paragraphes, padding des alertes
--j6n-space-5241.5-5padding des cartes et modales, marges de la page
--j6n-space-6322-6gap du header, grandes zones
--j6n-space-7483-7séparation entre sections
--j6n-space-8644-8marge au-dessus du pied de page
--j6n-space-9966-9très grandes respirations

Titres et paragraphes

Le thème pose déjà une marge basse sur le texte. Inutile de l'ajouter ; pour la supprimer sur un dernier élément, utilisez .j6n-mb-0.

Marges par défaut du texte
ÉlémentMarge bassepx
Titres h1 à h4--j6n-space-312
Paragraphes p (68 caractères de large au maximum)--j6n-space-416
Séparateur hr (haut et bas)--j6n-space-748

Règles d'utilisation

Créer des relations

Un petit écart (1 à 3) signale que des éléments vont ensemble : un libellé et son champ, les boutons d'un groupe. Un grand écart (6 à 9) isole un élément du reste de la page.

Créer une hiérarchie

Plus d'espace autour d'un élément le met en avant. Gardez l'écart entre sections (7) plus grand que l'écart à l'intérieur d'une section (4 à 5).

Rester sur l'échelle

Pas de valeur en pixels écrite à la main : une classe utilitaire ou un token --j6n-space-*. Si aucun pas ne convient, prenez le plus proche.

Classes utilitaires — .j6n-m-* .j6n-p-*

Une classe se compose de la propriété, de la direction (facultative) et de la valeur : .j6n- + m + t + -4 donne .j6n-mt-4, une marge haute de 16px.

Propriété

Nomenclature des propriétés
PropriétéPréfixeExemple
Marge externe (margin)m.j6n-m-2 : marge de 8px sur les quatre côtés
Marge interne (padding)p.j6n-p-2 : padding de 8px sur les quatre côtés
Écart entre enfants (gap)gap.j6n-gap-2 : 8px entre les enfants d'un flex ou d'une grille

Direction

Nomenclature des directions
DirectionLettreExemple
Les quatre côtés(aucune).j6n-m-1, .j6n-p-1
Hautt.j6n-mt-1, .j6n-pt-1
Basb.j6n-mb-1, .j6n-pb-1
Gauchel.j6n-ml-1, .j6n-pl-1
Droiter.j6n-mr-1, .j6n-pr-1
Gauche + droitex.j6n-mx-1, .j6n-px-1
Haut + basy.j6n-my-1, .j6n-py-1

Valeur

Nomenclature des valeurs
ValeurSuffixeExemple
Un pas de l'échelle-1 à -9.j6n-pb-5 : padding bas de 24px
Nulle-0.j6n-mt-0 : supprime la marge haute (d'un titre, d'un composant)
Automatique (marges uniquement)-auto.j6n-ml-auto : pousse l'élément à droite dans un flex ; .j6n-mx-auto : centre un bloc

Les utilitaires sont déclarés en fin de theme.css : ils remplacent l'espacement par défaut d'un composant, par exemple <footer class="j6n-footer j6n-mt-0">.

Marge et padding

La marge (m) éloigne l'élément de ses voisins, à l'extérieur de sa bordure. Le padding (p) éloigne le contenu de la bordure, à l'intérieur. Légende : marge, padding, contenu.

Directions

La même valeur (-5, 24px) appliquée à chaque direction.

Écart entre éléments — .j6n-gap-*

Dans un conteneur flex ou grille, gap espace les enfants sans marge sur chacun d'eux.

Pousser et centrer — .j6n-ml-auto .j6n-mx-auto

Espacements des classes de mise en page

Ces classes portent leur propre écart. Pour le changer à un endroit, ajoutez un utilitaire : <div class="j6n-stack j6n-gap-2">.

Écarts par défaut des classes de mise en page
ClasseRôleEspacement par défaut
.j6n-containercentre le contenu (1120px maximum)marges gauche et droite --j6n-space-5 (24px)
.j6n-stackempile verticalementgap --j6n-space-4 (16px)
.j6n-rowaligne horizontalement, passe à la lignegap --j6n-space-3 (12px)
.j6n-gridgrille de colonnes de 260px minimumgap --j6n-space-5 (24px)
.j6n-layoutsommaire latéral + contenugap --j6n-space-7 (48px)

Dans votre CSS

Pour un composant à vous, utilisez directement les variables plutôt qu'une suite de classes.

.ma-carte {
  padding: var(--j6n-space-5);
  margin-bottom: var(--j6n-space-4);
  display: flex;
  gap: var(--j6n-space-3);
}