Générateur de tableau de prix CSS

Suivant

Le tableau de prix est l’espace le plus stratégique d’une page marketing : il doit être clair, lisible d’un coup d’œil et orienter le visiteur vers l’offre que l’entreprise veut lui vendre. Ce générateur construit une carte de prix en HTML + CSS, avec le nom de l’offre, le prix et une couleur d’accent pour le prix et le bouton d’appel à l’action. Associez plusieurs cartes côte à côte pour former un tableau de prix complet, puis copiez le code dans votre landing page.

Comment construire un tableau de prix

  1. 1

    Saisissez le nom de l'offre

    Le titre de l'offre en haut de la carte, par exemple "Pro".

  2. 2

    Définissez le prix

    Le prix en grand, par exemple "$29". Le suffixe "/mo" est ajouté automatiquement.

  3. 3

    Choisissez une couleur d'accent

    Elle s'applique au prix et au bouton d'appel à l'action. Choisissez une couleur qui correspond à votre marque.

  4. 4

    Copiez le code

    La carte inclut une liste de fonctionnalités et un bouton d'appel à l'action, ainsi qu'un bloc <style> intégré. Modifiez les éléments directement dans le code.

  5. 5

    Répétez pour d'autres offres

    Pour un tableau complet, dupliquez la carte pour chaque offre et disposez-les dans une grille.

Structure de base

<section class="pricing">
  <article class="plan">
    <h3>Démarrage</h3>
    <p class="price">9 € <span>/mois</span></p>
    <p class="tagline">Pour des projets solo.</p>
    <ul class="features">
      <li>3 projets</li>
      <li>10 Go de stockage</li>
      <li>Support communautaire</li>
    </ul>
    <a class="cta" href="#">Commencer gratuitement</a>
  </article>

  <article class="plan featured">
    <span class="badge">Le plus populaire</span>
    <h3>Pro</h3>
    <p class="price">29 € <span>/mois</span></p>
    <!-- ... -->
  </article>

  <article class="plan">
    <h3>Équipe</h3>
    <!-- ... -->
  </article>
</section>

Grille responsive à trois colonnes

.pricing {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1.5rem;
  align-items: stretch;
}

.plan {
  padding: 2rem 1.5rem;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
}

.plan.featured {
  border: 2px solid #2563eb;
  position: relative;
  transform: translateY(-4px);
  box-shadow: 0 10px 30px rgba(37, 99, 235, 0.15);
}

auto-fit + minmax(240px, 1fr) donne une mise en page à trois colonnes sur desktop et une pile à une colonne sur mobile, sans rien d’autre à configurer.

L’offre mise en avant

Les signaux visuels qui attirent l’attention :

  • Bordure colorée reprenant la couleur d’accent de la marque.
  • Carte légèrement surélevée grâce à un margin-top négatif ou à translateY(-4px).
  • Bouton CTA plus grand, en général plein et aux couleurs de la marque, tandis que les autres offres se contentent d’un bouton en contour.
  • Badge (“La plus populaire”, “Le meilleur rapport qualité-prix”) positionné en absolu en haut de la carte.
  • Carte plus haute pour attirer l’œil, même si cela rend la comparaison entre offres plus difficile.

N’utilisez pas tous ces signaux à la fois : retenez-en deux ou trois. Trop de signaux finissent par aplatir la hiérarchie au lieu de la créer.

Bascule mensuelle / annuelle

<div class="billing-toggle">
  <button data-active="true">Mensuel</button>
  <button>Annuel · Économisez 20%</button>
</div>

La bascule remplace généralement les valeurs de prix via un peu de JavaScript, ou s’appuie sur l’état :checked d’un bouton radio. Affichez le pourcentage de réduction ou l’économie en euros directement dans le libellé de la bascule (par exemple “Annuel · Économisez 20%”) : dans beaucoup de tableaux, c’est l’élément le plus convaincant à lui seul.

Style des lignes de fonctionnalités

.features {
  list-style: none;
  padding: 0;
  margin: 1.5rem 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.features li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.features li.yes::before {
  content: "";
  width: 16px; height: 16px;
  background: url(...check.svg);
}
.features li.no {
  color: #9ca3af;
  text-decoration: line-through;
}

Utilisez une coche pour ce qui est “inclus”, et du texte grisé ou une croix légère pour ce qui ne l’est pas. Ne barrez jamais le texte sans réduire aussi son contraste : un texte barré bien visible se lit comme une mise en valeur, pas comme une absence.

Gardez le CTA bien visible

Un CTA par offre, visuellement cohérent d’une offre à l’autre. Varier le texte selon l’offre (“Commencer gratuitement”, “Passer à Pro”, “Contacter le service commercial”) ne pose aucun problème et aide même à orienter l’utilisateur vers le bon parcours.

Rendez le tableau facile à parcourir

Les visiteurs lisent rarement un tableau de prix de gauche à droite : ils balayent d’abord les prix, puis les CTA, et seulement ensuite les différences de fonctionnalités. Optimisez pour ce parcours :

  1. Nom de l’offre et prix en grand, en haut de la carte.
  2. CTA visible sans avoir à faire défiler la carte.
  3. Liste des fonctionnalités en dessous. Mettez en avant les différences entre les offres plutôt que de répéter les mêmes fonctionnalités dans chaque colonne.

Check-list d’accessibilité

  • Chaque offre est un <article> distinct, avec son propre <h3>.
  • Le badge “La plus populaire” est un libellé texte visible, pas seulement une couleur (pour les personnes daltoniennes).
  • Les boutons CTA portent un texte explicite (“Démarrer l’essai Pro”) plutôt que “Cliquez ici”.
  • La bascule de facturation utilise aria-pressed ou la sémantique des boutons radio.
  • Si la bascule est faite en JavaScript, le changement de prix est annoncé via aria-live="polite".

Questions fréquentes

Trois, c’est le standard en marketing : le tableau se parcourt plus vite et met clairement en valeur l’option du milieu. Quatre offres se justifient si vous avez réellement quatre types de clients (indépendant / équipe / entreprise / grand compte). À partir de cinq, le visiteur se perd en général : découpez alors le tableau en deux ou ajoutez un comparatif détaillé à part.

Cela dépend de votre activité. Afficher l’annuel par défaut met la réduction en avant et ancre un prix plus bas dans l’esprit du visiteur ; afficher le mensuel est moins agressif. Si le chiffre d’affaires est en jeu, faites un test A/B. Un bon compromis : afficher l’annuel par défaut, tout en laissant l’option mensuelle à un seul clic.

La grille repeat(auto-fit, minmax(240px, 1fr)) s’en charge toute seule. En dessous d’environ 800px de largeur de viewport, les cartes passent sur une seule colonne, sans la moindre media query.

Tout à droite, si vous classez les offres par prix croissant. Le texte du CTA doit être “Contacter le service commercial” plutôt qu’un prix, et la carte doit rester visuellement identique aux autres pour que le tableau reste facile à parcourir. Certaines entreprises préfèrent sortir l’offre grand compte dans une section distincte sous le tableau, pour ne pas perturber la comparaison des prix des autres offres.

Outils similaires