Documentation

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.

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

Aperçu

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

Aperçu
Description

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

Aperçu

Article

Un aperçu captivant de l'article pour inciter à la lecture.

Il y a 2 heures
<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

Aperçu
Image

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

Aperçu
Image
Nouveau

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

Aperçu
Image avec zoom

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

Aperçu
Innovation
Populaire

Innovation technologique

Explorez les dernières avancées technologiques qui transforment notre façon de travailler.

Mars 2025
4.8 ★★★★★
<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

Aperçu
PREMIUM

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

Aperçu
Écologie

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

Aperçu

Design inversé

Contenu en haut, image en bas pour varier les mises en page.

Image en bas
<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

Aperçu

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

Aperçu

Pro

49€ /mois
  • 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

Aperçu
Avatar

Marie Dupont

Designer UI/UX

248
Projets
1.2k
Followers
<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>