Section de cartes de fonctionnalités
Section de la carte d'introduction aux fonctionnalités pour les pages SaaS/de destination. Un composant d'interface utilisateur de carte avec une bordure de gradation qui brille doucement lorsqu'elle est survolée.
Aperçu
Six cartes de fonction sont disposées dans une grille et la bordure de gradation s’allume au survol.
tout est ici
traitement à grande vitesse
Réponse en millisecondes.
sécurité
Architecture zéro confiance.
analytique
Informations en temps réel.
collaboration
En toute transparence en équipe.
mondiale
Disponible dans 148 pays à travers le monde.
personnalisation
Personnalisable pour s’adapter à votre marque.
Cas d’utilisation et fonctionnalités
-
SaaS/Landing Page : Une section d’introduction aux fonctions qui transmet clairement l’attrait du produit.
-
Aucun JavaScript requis : implémentation CSS pure incluant des effets de survol.
-
Code couleur par carte à l’aide de variables CSS : Gérez de manière centralisée la couleur de la bordure de chaque carte à l’aide de la variable
--card-color. -
Effet de bordure
mask-composite: la bordure du dégradé apparaît clairement au survol.
Points de conception et d’UX
-
Communication visuelle avec des icônes : Les icônes véhiculent instantanément le contenu de chaque carte.
-
translateY(-4px)lift-up : Une sensation de volume exquise qui n’est pas trop profonde mais flotte légèrement. -
opacity: 0 → 1border : La bordure qui apparaît pour la première fois au survol crée une expérience surprise.
Comment personnaliser
Modifiez le nombre de cartes : ajoutez/supprimez simplement les éléments .feat-card dans feat-grid.
changer la couleur de la bordure:
.feat-c1 { --card-color: #f97316; } /* orange */
Correction du nombre de colonnes de la grille:
.feat-grid { grid-template-columns: repeat(3, 1fr); }
##Code d’implémentation
<section class="feat-section">
<div class="feat-header">
<div class="feat-eyebrow">Features</div>
<h2 class="feat-title">tout est ici</h2>
</div>
<div class="feat-grid">
<div class="feat-card feat-c1">
<span class="feat-icon">⚡</span>
<h3 class="feat-card-title">traitement à grande vitesse</h3>
<p class="feat-card-desc">Réponse en millisecondes.</p>
</div>
<div class="feat-card feat-c2">
<span class="feat-icon">🛡️</span>
<h3 class="feat-card-title">sécurité</h3>
<p class="feat-card-desc">Architecture zéro confiance.</p>
</div>
<div class="feat-card feat-c3">
<span class="feat-icon">📊</span>
<h3 class="feat-card-title">analytique</h3>
<p class="feat-card-desc">Informations en temps réel.</p>
</div>
<div class="feat-card feat-c4">
<span class="feat-icon">🤝</span>
<h3 class="feat-card-title">collaboration</h3>
<p class="feat-card-desc">En toute transparence en équipe.</p>
</div>
<div class="feat-card feat-c5">
<span class="feat-icon">🌍</span>
<h3 class="feat-card-title">mondiale</h3>
<p class="feat-card-desc">Disponible dans 148 pays à travers le monde.</p>
</div>
<div class="feat-card feat-c6">
<span class="feat-icon">🔧</span>
<h3 class="feat-card-title">personnalisation</h3>
<p class="feat-card-desc">Personnalisable pour s'adapter à votre marque.</p>
</div>
</div>
</section>
<style>
.feat-section {
padding: 4rem 1rem;
font-family: system-ui, -apple-system, sans-serif;
color: white;
background: #0f172a;
box-sizing: border-box;
width: 100%;
}
.feat-section * { box-sizing: border-box; }
.feat-header {
text-align: center;
margin-bottom: 3rem;
}
.feat-eyebrow {
color: #6366f1;
font-weight: 600;
letter-spacing: 0.1em;
text-transform: uppercase;
margin-bottom: 0.5rem;
}
.feat-title {
font-size: 2.5rem;
font-weight: 800;
margin: 0;
}
.feat-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
gap: 1.5rem;
max-width: 1000px;
margin: 0 auto;
}
.feat-card {
position: relative;
background: rgba(255, 255, 255, 0.03);
border-radius: 1rem;
padding: 2rem;
text-align: center;
transition: transform 0.3s ease;
z-index: 1;
}
.feat-card::before {
content: '';
position: absolute;
inset: 0;
border-radius: inherit;
padding: 2px;
background: linear-gradient(135deg, var(--card-color, #6366f1), transparent);
-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
opacity: 0;
transition: opacity 0.3s ease;
z-index: -1;
}
.feat-card:hover {
transform: translateY(-4px);
}
.feat-card:hover::before {
opacity: 1;
}
.feat-icon {
font-size: 2.5rem;
display: block;
margin-bottom: 1rem;
}
.feat-card-title {
font-size: 1.25rem;
font-weight: 600;
margin: 0 0 0.5rem;
}
.feat-card-desc {
color: #9ca3af;
margin: 0;
line-height: 1.5;
}
.feat-c1 { --card-color: #f97316; }
.feat-c2 { --card-color: #3b82f6; }
.feat-c3 { --card-color: #10b981; }
.feat-c4 { --card-color: #8b5cf6; }
.feat-c5 { --card-color: #ec4899; }
.feat-c6 { --card-color: #06b6d4; }
</style> État de compatibilité du navigateur
| Navigateur | Statut de compatibilité |
|--------|-------|
| Chrome 80+ | ✅ Entièrement compatible |
| Firefox 99+ | ✅ Entièrement compatible |
| Safari 15.4+ | ✅Compatible |
| Bord 80+ | ✅ Entièrement compatible |