Skip to content

MagazineLayout ​

Hiérarchie éditoriale des sites d'actualité et des blogs : un article à la une, une colonne de titres secondaires, puis une grille d'articles. La grille sert aussi pour les listes de produits et les galeries.

Exemples d'utilisation ​

À la une, secondaires et grille ​

vue
<template>
  <SuMagazineLayout :columns="3">
    <template #header>
      <h1>Actualités</h1>
    </template>
    <template #featured>
      <StoryCard :story="lead" size="lg" />
    </template>
    <template #aside>
      <StoryLink v-for="story in headlines" :key="story.id" :story="story" />
    </template>

    <StoryCard v-for="story in stories" :key="story.id" :story="story" />
  </SuMagazineLayout>
</template>

Grille seule (produits, galerie) ​

Sans featured ni aside, il ne reste que la grille : 1 colonne, 2 dès 640px, puis columns dès 1024px. Pour une grille sans hiérarchie (colonnes par largeur, colonnes automatiques, mode liste), préférez le GridLayout.

vue
<SuMagazineLayout :columns="4" gap="md">
  <ProductCard v-for="product in products" :key="product.id" :product="product" />
</SuMagazineLayout>

API ​

Props ​

PropTypeDéfautDescription
columns2 | 3 | 43Colonnes de la grille dès un conteneur de 1024px
gap'none' | 'sm' | 'md' | 'lg' | 'xl''lg'Écart entre les zones et les articles

Slots ​

SlotDescription
headerTitre de la rubrique, filtres
featuredArticle à la une
asideTitres secondaires, « les plus lus » (empilés)
defaultArticles de la grille : chaque enfant direct est une cellule

Comportement responsive ​

Largeur du conteneurUne + secondairesGrille
< 640pxEmpilés1 colonne
≥ 640pxEmpilés2 colonnes
≥ 768pxÀ la une 2/3 + secondaires 1/32 colonnes
≥ 1024pxÀ la une 2/3 + secondaires 1/3columns colonnes

Accessibilité ​

  • Ordre de lecture : à la une, puis secondaires, puis grille, dans l'ordre visuel.
  • Listes : pour une liste d'articles, donnez à vos cartes une structure de liste (role="list" sur un conteneur, ou des titres de niveau cohérent) afin que les lecteurs d'écran annoncent leur nombre.

Publié sous licence MIT.