Skip to content

Card

Carte universelle flexible et responsive. Supporte images, titres, contenu, actions, liens, et plusieurs variantes visuelles. Adapte a de nombreux cas d'usage : produit, article de blog, profil, statistiques, etc.

Exemples d'utilisation

Basique

Carte simple

vue
<SuCard title="Titre de la carte" subtitle="Description courte">
  <p>Contenu principal de la carte.</p>
</SuCard>

Variantes

default / outlined / elevated / filled

vue
<SuCard variant="default" title="Default" />
<SuCard variant="outlined" title="Outlined" />
<SuCard variant="elevated" title="Elevated" />
<SuCard variant="filled" title="Filled" />

Tailles

sm / md / lg

vue
<SuCard size="sm" title="Small" />
<SuCard size="md" title="Medium" />
<SuCard size="lg" title="Large" />

Avec image

Image en en-tete

vue
<SuCard
  image="https://example.com/photo.jpg"
  imageAlt="Description"
  title="Paysage alpin"
  subtitle="Decouvrez les montagnes"
>
  <p>Contenu de la carte.</p>
</SuCard>

Direction horizontale

Image a gauche, contenu a droite

vue
<SuCard
  direction="horizontal"
  image="/photo.jpg"
  title="Carte horizontale"
>
  <p>Contenu a droite de l'image.</p>
</SuCard>

Carte cliquable

Cliquable et lien

vue
<!-- Cliquable -->
<SuCard :clickable="true" title="Cliquez" @click="handleClick" />

<!-- Lien -->
<SuCard href="/page" title="Naviguer" />

Zone d'actions en bas

vue
<SuCard title="Destination" subtitle="299 EUR">
  <p>Description.</p>
  <template #footer>
    <SuButton variant="primary" size="sm">Reserver</SuButton>
    <SuButton variant="ghost" size="sm">Details</SuButton>
  </template>
</SuCard>

Overlay sur image

Badge sur l'image

vue
<SuCard image="/photo.jpg" title="Article">
  <template #image-overlay>
    <SuBadge variant="primary" size="sm">Populaire</SuBadge>
  </template>
</SuCard>

API

Props

PropTypeDefautDescription
variant'default' | 'outlined' | 'elevated' | 'filled''default'Variante visuelle
size'sm' | 'md' | 'lg''md'Taille
direction'vertical' | 'horizontal''vertical'Direction du layout
radiusRadius'md'Rayon des coins
clickablebooleanfalseRend la carte cliquable
hrefstringLien href (rend la carte en <a>)
targetLinkTargetAttribut target pour les liens
imagestringURL de l'image
imageAltstringAlt text de l'image
imageRatio'16/9' | '4/3' | '1/1' | '21/9' | 'auto''16/9'Ratio de l'image
imageFit'cover' | 'contain' | 'fill''cover'Ajustement de l'image
imagePosition'top' | 'bottom''top'Position de l'image
titlestringTitre
subtitlestringSous-titre
titleLevel1-63Niveau de heading
disabledbooleanfalseEtat desactive
fullWidthbooleanfalsePleine largeur
maxWidthstringLargeur max personnalisee

Slots

SlotDescription
defaultContenu principal
imageZone image personnalisee (remplace la prop image)
image-overlayOverlay sur l'image (badges, tags)
headerEn-tete au-dessus du contenu (apres l'image)
titleTitre personnalise
subtitleSous-titre personnalise
footerZone d'actions en bas

Evenements

EvenementPayloadDescription
clickMouseEventEmis au clic (si clickable ou href)

Accessibilite

  • Rendu en <article> par defaut, <a> si href est fourni
  • role="button" + tabindex="0" si cliquable sans href
  • Navigation clavier : Enter et Space declenchent le clic
  • aria-disabled="true" quand desactive
  • rel="noopener noreferrer" automatique si target="_blank"
  • loading="lazy" sur les images
  • Support prefers-contrast: high et prefers-reduced-motion: reduce
  • Direction horizontale repasse en vertical sur mobile (< 640px)

Publié sous licence MIT.