Design responsive
Le système responsive de Sovrium repose sur des points de rupture définis dans theme.breakpoints. Chaque point de rupture devient une media query min-width, et les propriétés des composants peuvent être surchargées par point de rupture pour des mises en page mobile-first.
theme.breakpoints
Une table associant des noms de points de rupture à des valeurs de pixels. Les noms sont alphanumériques en minuscules ; les valeurs sont des chaînes de pixels.
| Propriété | Description |
|---|---|
| clé | Nom du point de rupture (alphanumérique en minuscules, par ex. sm, md, lg, xl, 2xl). |
| valeur | Seuil de largeur minimale sous forme de chaîne de pixels (par ex. '640px', '768px'). |
theme:
breakpoints:
sm: '640px'
md: '768px'
lg: '1024px'
xl: '1280px'
'2xl': '1536px'
Ceux-ci correspondent aux paliers responsifs standards :
| Point de rupture | Largeur min | Cible typique |
|---|---|---|
sm |
640px |
Grand mobile |
md |
768px |
Tablette |
lg |
1024px |
Ordinateur portable |
xl |
1280px |
Ordinateur de bureau |
2xl |
1536px |
Grand écran de bureau |
Les valeurs doivent être des chaînes de pixels. Chaque valeur de point de rupture doit respecter le format <number>px (par ex. '768px'). Les unités non pixel (rem, em, %) sont rejetées par le schéma.
Surcharges par point de rupture
Les points de rupture alimentent les variantes utilitaires mobile-first de Tailwind. Un utilitaire de base s'applique à toutes les tailles ; une variante préfixée (md:, lg:, …) s'applique à partir de ce point de rupture vers le haut. C'est ainsi qu'un même composant s'adapte aux différentes tailles d'écran.
pages:
- name: home
path: /
components:
- type: container
element: section
props:
# 1 column on mobile, 2 from md, 3 from lg
className: 'grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4'
children:
- { type: card, props: { className: 'p-4 md:p-6' } }
- { type: card, props: { className: 'p-4 md:p-6' } }
- { type: card, props: { className: 'p-4 md:p-6' } }
Dans l'exemple ci-dessus :
grid-cols-1s'applique sur tous les écrans.md:grid-cols-2le remplace à partir de768pxvers le haut.lg:grid-cols-3le remplace à nouveau à partir de1024pxvers le haut.p-4est le padding de base ;md:p-6l'augmente à partir du point de rupturemd.
Mobile-first. Déclarez toujours la plus petite mise en page comme utilitaire de base (sans préfixe), puis superposez les surcharges pour grands écrans avec des préfixes de point de rupture. Cela garantit une valeur par défaut sensée sur le plus petit viewport avant que toute media query ne s'applique.
Points de rupture personnalisés
Définissez vos propres noms en complément ou à la place des paliers standards. Un point de rupture personnalisé génère un préfixe utilitaire correspondant.
theme:
breakpoints:
phone: '480px'
tablet: '834px'
wide: '1440px'
props:
className: 'flex-col tablet:flex-row wide:gap-12'
Étapes suivantes
- Thème — la référence complète des jetons de thème.
- Animations — jetons de keyframe et de mouvement.
- Vue d'ensemble des pages — propriétés des composants et la propriété
className.