Documentation - Cards.
Découvrez Marssel : un framework CSS intelligent, configuration minimale, conçu pour des interfaces rapides et une expérience développeur simplifiée.
Démarrage
Concepts de base
Utilitaires
Cards
Les cards (cartes) sont des conteneurs polyvalents qui regroupent du contenu et des actions sur un sujet unique. Elles sont idéales pour afficher des articles, des produits, des profils ou tout type de contenu structuré. Marssel permet de créer des cards entièrement personnalisables avec images, textes, badges, boutons et animations, le tout en utilisant la syntaxe compacte.
Card basique
Titre de la carte
Contenu de la carte avec une description claire et concise.
<div class="card-simple---[bg-[white]+rounded-[8px]+shadow-[0_2px_8px_rgba(0,0,0,0.1)]+p-[20px]]">
<h3 class="font-weight-[600] mb-[12px]">Titre de la carte</h3>
<p class="c-[666] line-h-[1d6]">
Contenu de la carte avec une description claire et concise.
</p>
</div>
Card avec image
Un simple bouton avec fond et texte
Titre
Description du contenu de la carte.
<!-- Image en haut -->
<div class="card---[bg-[white]+rounded-[12px]+shadow-[0_4px_12px_rgba(0,0,0,0.08)]+overflow-[hidden]]">
<div class="card-image---[h-[200px]+overflow-[hidden]]">
<img src="https://placehold.co/600x400"
class="w-[100%] h-[100%] object-[cover]"
alt="Description">
</div>
<div class="card-content---[p-[24px]]">
<h3 class="font-weight-[600] c-[333] mb-[12px]">Titre</h3>
<p class="c-[555] line-h-[1d6]">Description du contenu de la carte.</p>
</div>
</div>
Card avec footer
Article
Un aperçu captivant de l'article pour inciter à la lecture.
<div class="card---[bg-[white]+rounded-[12px]+shadow-[0_4px_12px_rgba(0,0,0,0.08)]+overflow-[hidden]]">
<div class="card-content---[p-[24px]]">
<h3 class="font-weight-[600] c-[333] mb-[12px]">Article</h3>
<p class="c-[555] line-h-[1d6] mb-[16px]">
Un aperçu captivant de l'article pour inciter à la lecture.
</p>
</div>
<div class="card-footer---[p-[20px]+border-t-[1px_solid_e0e0e0]+d-[flex]+justify-[space-between]+items-[center]]">
<span class="c-[777] font-size-[14px]">Il y a 2 heures</span>
<button class="btn---[bg-[0B63F3]+c-[white]+py-[8px]+px-[16px]+rounded-[6px]+border-[none]+cursor-[pointer]]">
Lire plus
</button>
</div>
</div>
Card horizontale
Titre horizontal
Contenu de la carte avec mise en page horizontale.
<!-- Image à gauche, contenu à droite -->
<div class="card---[bg-[white]+rounded-[12px]+shadow-[0_4px_12px_rgba(0,0,0,0.08)]+overflow-[hidden]+d-[flex]+flex-direction-[row]]">
<div class="card-image---[w-[40%]+flex-shrink-[0]+overflow-[hidden]]">
<img src="https://placehold.co/600x400"
class="w-[100%] h-[100%] object-[cover]"
alt="Image">
</div>
<div class="card-content---[p-[24px]+d-[flex]+flex-direction-[column]+justify-[center]+flex-[1]]">
<h3 class="font-weight-[600] c-[333] mb-[12px]">Titre horizontal</h3>
<p class="c-[555] line-h-[1d6]">Contenu de la carte avec mise en page horizontale.</p>
</div>
</div>
Card avec badge
Produit récent
Découvrez notre dernière innovation.
<div class="card---[bg-[white]+rounded-[12px]+shadow-[0_4px_12px_rgba(0,0,0,0.08)]+overflow-[hidden]]">
<div class="card-image---[h-[200px]+overflow-[hidden]+pos-[relative]]">
<img src="https://placehold.co/600x400"
class="w-[100%] h-[100%] object-[cover]"
alt="Image">
<!-- Badge overlay -->
<div class="badge---[pos-[absolute]+top-[16px]+left-[16px]+bg-[D41212]+c-[white]+px-[12px]+py-[6px]+rounded-[4px]+font-weight-[500]+font-size-[14px]]">
Nouveau
</div>
</div>
<div class="card-content---[p-[24px]]">
<h3 class="font-weight-[600] c-[333] mb-[12px]">Produit récent</h3>
<p class="c-[555] line-h-[1d6]">Découvrez notre dernière innovation.</p>
</div>
</div>
Card avec hover effect
Card interactive
Survolez pour voir l'effet d'animation.
<div class="card---[bg-[white]+rounded-[12px]+shadow-[0_4px_12px_rgba(0,0,0,0.08)] card---[overflow-[hidden]+transition-[transform_0.3s_ease]+transform-[translateY(-8px)]]:hover">
<div class="card-image---[h-[220px]+overflow-[hidden]]">
<img src="https://placehold.co/600x400"
class="w-[100%] h-[100%] object-[cover] transition-[transform_0.5s_ease] transform-[scale(1.1)]:hover"
alt="Image avec zoom">
</div>
<div class="card-content---[p-[24px]]">
<h3 class="font-weight-[600] c-[333] mb-[12px]">Card interactive</h3>
<p class="c-[555] line-h-[1d6]">Survolez pour voir l'effet d'animation.</p>
</div>
</div>
Card complète avec métadonnées
Innovation technologique
Explorez les dernières avancées technologiques qui transforment notre façon de travailler.
<div class="card---[bg-[white]+rounded-[12px]+shadow-[0_4px_20px_rgba(0,0,0,0.08)]+overflow-[hidden]]">
<div class="card-image---[h-[220px]+overflow-[hidden]+pos-[relative]]">
<img src="https://placehold.co/600x400"
class="w-[100%] h-[100%] object-[cover]"
alt="Innovation">
<div class="image-overlay---[pos-[absolute]+top-[0]+left-[0]+w-[100%]+h-[100%]+bg-rgba-[0,0,0,0.2]]+d-[flex]+items-[flex-end]]">
<span class="badge---[bg-[0B63F3]+c-[white]+px-[12px]+py-[6px]+rounded-[4px]+m-[16px]+font-weight-[500]]">
Populaire
</span>
</div>
</div>
<div class="card-content---[p-[28px]+d-[flex]+flex-direction-[column]+gap-[16px]]">
<h3 class="card-title---[font-weight-[600]+c-[333]+font-size-[20px]+m-[0]]">
Innovation technologique
</h3>
<p class="card-text---[c-[555]+line-h-[1d6]+m-[0]]">
Explorez les dernières avancées technologiques qui transforment notre façon de travailler.
</p>
<div class="card-meta---[d-[flex]+justify-[space-between]+items-[center]+mt-[16px]]">
<span class="card-date---[c-[777]+font-size-[14px]]">Mars 2025</span>
<div class="card-rating---[d-[flex]+items-[center]]">
<span class="rating-value---[mr-[6px]+font-weight-[600]+c-[333]]">4.8</span>
<span class="rating-stars---[c-[ffc107]]">★★★★★</span>
</div>
</div>
</div>
<div class="card-footer---[p-[24px]+border-t-[1px_solid_f0f0f0]+d-[flex]+justify-[space-between]+items-[center]]">
<button class="btn-primary---[bg-[4361ee]+c-[white]+py-[10px]+px-[20px]+rounded-[6px]+border-[none]+cursor-[pointer]+transition-[background-color_0.3s]+bg-[3651de]:hover]">
Découvrir
</button>
<a class="btn-link---[c-[4361ee]+text-dec-[none]+font-weight-[500]+transition-[color_0.3s]+c-[264bd1]:hover]">
En savoir plus →
</a>
</div>
</div>
Card premium avec ribbon
Expérience exclusive
Accédez à des fonctionnalités avancées et à un support personnalisé.
- Support prioritaire 24/7
- Mises à jour avancées
- Fonctionnalités exclusives
<div class="card---[bg-[white]+rounded-[12px]+shadow-[0_4px_20px_rgba(0,0,0,0.08)]+overflow-[hidden]+pos-[relative]]">
<!-- Ribbon premium -->
<div class="card-ribbon---[pos-[absolute]+top-[16px]+right-[0]+bg-[ffd700]+c-[333]+py-[6px]+px-[16px]+font-weight-[600]+font-size-[14px]+shadow-[0_2px_10px_rgba(0,0,0,0.1)]+z-[10]]">
PREMIUM
</div>
<div class="card-content---[p-[28px]+d-[flex]+flex-direction-[column]+gap-[16px]]">
<h3 class="card-title---[font-weight-[700]+c-[333]+font-size-[22px]+m-[0]]">
Expérience exclusive
</h3>
<p class="card-text---[c-[555]+line-h-[1d7]+m-[0]]">
Accédez à des fonctionnalités avancées et à un support personnalisé.
</p>
<ul class="feature-list---[mt-[16px]+pl-[0]]">
<li class="feature-item---[d-[flex]+items-[center]+mb-[10px]+c-[555]]">
<span class="check-icon---[c-[4caf50]+mr-[8px]]">✓</span>
Support prioritaire 24/7
</li>
<li class="feature-item---[d-[flex]+items-[center]+mb-[10px]+c-[555]]">
<span class="check-icon---[c-[4caf50]+mr-[8px]]">✓</span>
Mises à jour avancées
</li>
<li class="feature-item---[d-[flex]+items-[center]+c-[555]]">
<span class="check-icon---[c-[4caf50]+mr-[8px]]">✓</span>
Fonctionnalités exclusives
</li>
</ul>
<button class="btn-premium---[bg-[ffd700]+c-[333]+py-[12px]+px-[20px]+rounded-[6px]+border-[none]+cursor-[pointer]+font-weight-[600]+transition-[transform_0.2s] btn-premium---[transform-[scale(1.03)]]:hover">
S'abonner maintenant
</button>
</div>
</div>
Card avec tag
Solutions durables
Des approches innovantes pour un avenir plus vert et responsable.
Découvrir nos initiatives →<div class="card-wrapper---[bg-[white]+rounded-[12px]+shadow-[0_4px_12px_rgba(0,0,0,0.08)]+overflow-[hidden]]">
<div class="card-content---[p-[24px]]">
<div class="card-tag---[bg-[e8f4fd]+c-[1a73e8]+d-[inline-block]+py-[4px]+px-[10px]+rounded-[4px]+mb-[12px]+font-size-[14px]+font-weight-[500]]">
Écologie
</div>
<h3 class="font-weight-[600] c-[333] mb-[12px]">Solutions durables</h3>
<p class="c-[555] line-h-[1d6]">
Des approches innovantes pour un avenir plus vert et responsable.
</p>
<a class="card-link---[c-[4361ee]+text-dec-[none]+font-weight-[500]+mt-[16px]+d-[inline-flex]+items-[center]+transition-[color_0.3s]] card-link9---[c-[264bd1]]:hover">
Découvrir nos initiatives
<span class="ml-[6px]">→</span>
</a>
</div>
</div>
Card avec image en bas
Design inversé
Contenu en haut, image en bas pour varier les mises en page.
<div class="card---[bg-[white]+rounded-[12px]+shadow-[0_4px_12px_rgba(0,0,0,0.08)]+overflow-[hidden]+d-[flex]+flex-direction-[column]]">
<div class="card-content---[p-[24px]+flex-[1]]">
<h3 class="font-weight-[600] c-[333] mb-[12px]">Design inversé</h3>
<p class="c-[555] line-h-[1d6]">
Contenu en haut, image en bas pour varier les mises en page.
</p>
</div>
<div class="card-image---[mt-[auto]+h-[180px]+overflow-[hidden]+pos-[relative]]">
<div class="image-overlay---[pos-[absolute]+top-[0]+left-[0]+w-[100%]+h-[100%]+bg-linear-[90deg,0B63F3_0%,8b5cf6_100%]+opacity-[0.3]+z-[1]]"></div>
<img src="https://placehold.co/600x400"
class="w-[100%] h-[100%] object-[cover]"
alt="Image en bas">
</div>
</div>
Grid de cards responsive
Card 1
Contenu de la première carte.
Card 2
Contenu de la deuxième carte.
Card 3
Contenu de la troisième carte.
<div class="cards-grid---[d-[grid]+grid-cols-[repeat(1,1fr)]+gap-[24px]] sm--cards-grid---[grid-cols-[repeat(2,1fr)]] lg--cards-grid---[grid-cols-[repeat(3,1fr)]]">
<!-- Card 1 -->
<div class="card---[bg-[white]+rounded-[12px]+shadow-[0_4px_12px_rgba(0,0,0,0.08)]+p-[24px]]">
<h3 class="font-weight-[600] mb-[12px]">Card 1</h3>
<p class="c-[666]">Contenu de la première carte.</p>
</div>
<!-- Card 2 -->
<div class="card">
<h3 class="font-weight-[600] mb-[12px]">Card 2</h3>
<p class="c-[666]">Contenu de la deuxième carte.</p>
</div>
<!-- Card 3 -->
<div class="card">
<h3 class="font-weight-[600] mb-[12px]">Card 3</h3>
<p class="c-[666]">Contenu de la troisième carte.</p>
</div>
</div>
Card pricing
Pro
- ✓ 10 projets
- ✓ Support prioritaire
- ✓ Analyses avancées
<div class="pricing-card---[bg-[white]+rounded-[12px]+shadow-[0_4px_20px_rgba(0,0,0,0.08)]+p-[32px]+text-align-[center]]">
<h3 class="plan-name---[font-weight-[700]+c-[333]+font-size-[24px]+mb-[8px]]">
Pro
</h3>
<div class="price---[mb-[24px]]">
<span class="amount---[font-size-[48px]+font-weight-[700]+c-[0B63F3]]">49€</span>
<span class="period---[c-[777]+font-size-[16px]]">/mois</span>
</div>
<ul class="features---[text-align-[left]+mb-[24px]+pl-[0]]">
<li class="feature---[d-[flex]+items-[center]+mb-[12px]+c-[555]]">
<span class="c-[4caf50] mr-[8px]">✓</span>
10 projets
</li>
<li class="feature---[d-[flex]+items-[center]+mb-[12px]+c-[555]]">
<span class="c-[4caf50] mr-[8px]">✓</span>
Support prioritaire
</li>
<li class="feature---[d-[flex]+items-[center]+c-[555]]">
<span class="c-[4caf50] mr-[8px]">✓</span>
Analyses avancées
</li>
</ul>
<button class="btn---[bg-[0B63F3]+c-[white]+py-[12px]+px-[32px]+rounded-[6px]+border-[none]+cursor-[pointer]+w-[100%]+font-weight-[600]+transition-[background-color_0.3s]] btn---[bg-[2563eb]]:hover]">
Choisir ce plan
</button>
</div>
Card profil utilisateur
Marie Dupont
Designer UI/UX
<div class="profile-card---[bg-[white]+rounded-[12px]+shadow-[0_4px_12px_rgba(0,0,0,0.08)]+p-[24px]+text-align-[center]]">
<div class="avatar---[w-[80px]+h-[80px]+rounded-[50%]+overflow-[hidden]+mx-[auto]+mb-[16px]]">
<img src="https://placehold.co/200x200"
class="w-[100%] h-[100%] object-[cover]"
alt="Avatar">
</div>
<h3 class="name---[font-weight-[600]+c-[333]+mb-[4px]]">Marie Dupont</h3>
<p class="role---[c-[777]+font-size-[14px]+mb-[16px]]">Designer UI/UX</p>
<div class="stats---[d-[flex]+justify-[space-around]+mb-[20px]+pt-[20px]+border-t-[1px_solid_f0f0f0]]">
<div class="stat---[text-align-[center]]">
<div class="stat-value---[font-weight-[700]+c-[333]+font-size-[20px]]">248</div>
<div class="stat-label---[c-[777]+font-size-[12px]]">Projets</div>
</div>
<div class="stat---[text-align-[center]]">
<div class="stat-value---[font-weight-[700]+c-[333]+font-size-[20px]]">1.2k</div>
<div class="stat-label---[c-[777]+font-size-[12px]]">Followers</div>
</div>
</div>
<button class="btn---[bg-[0B63F3]+c-[white]+py-[10px]+px-[24px]+rounded-[6px]+border-[none]+cursor-[pointer]+w-[100%]]">
Suivre
</button>
</div>