Seção de Cards de Features
Seção do cartão de introdução de recursos para SaaS/páginas de destino. Um componente de UI de cartão com uma borda de gradação que brilha suavemente quando você passa o mouse sobre ele.
Visualização
Seis cartões de função são organizados em uma grade e a borda da gradação acende quando você passa o mouse.
tudo está aqui
processamento de alta velocidade
Resposta em milissegundos.
segurança
Arquitetura de confiança zero.
análise
Informações em tempo real.
colaboração
Perfeitamente juntos como uma equipe.
mundial
Disponível em 148 países ao redor do mundo.
personalização
Personalizável para se adequar à sua marca.
Casos de uso e recursos
-
SaaS/Landing Page: uma seção de introdução da função que transmite claramente o apelo do produto.
-
Não é necessário JavaScript: implementação pura de CSS, incluindo efeitos de foco.
-
Código de cores por cartão usando variáveis CSS: Gerencie centralmente a cor da borda de cada cartão usando a variável
--card-color. -
Efeito de borda
mask-composite: A borda gradiente aparece claramente ao passar o mouse.
Pontos de design e UX
-
Comunicação visual com ícones: Os ícones transmitem instantaneamente o conteúdo de cada cartão.
-
translateY(-4px)lift-up: Uma sensação requintada de volume que não é muito profundo, mas flutua levemente. -
opacity: 0 → 1borda: A borda que aparece pela primeira vez ao passar o mouse cria uma experiência surpresa.
Como personalizar
Alterar o número de cartas: Basta adicionar/excluir elementos .feat-card em feat-grid.
mudar a cor da borda:
.feat-c1 { --card-color: #f97316; } /* laranja */
Corrija o número de colunas da grade:
.feat-grid { grid-template-columns: repeat(3, 1fr); }
Código de implementação
<section class="feat-section">
<div class="feat-header">
<div class="feat-eyebrow">Features</div>
<h2 class="feat-title">tudo está aqui</h2>
</div>
<div class="feat-grid">
<div class="feat-card feat-c1">
<span class="feat-icon">⚡</span>
<h3 class="feat-card-title">processamento de alta velocidade</h3>
<p class="feat-card-desc">Resposta em milissegundos.</p>
</div>
<div class="feat-card feat-c2">
<span class="feat-icon">🛡️</span>
<h3 class="feat-card-title">segurança</h3>
<p class="feat-card-desc">Arquitetura de confiança zero.</p>
</div>
<div class="feat-card feat-c3">
<span class="feat-icon">📊</span>
<h3 class="feat-card-title">análise</h3>
<p class="feat-card-desc">Informações em tempo real.</p>
</div>
<div class="feat-card feat-c4">
<span class="feat-icon">🤝</span>
<h3 class="feat-card-title">colaboração</h3>
<p class="feat-card-desc">Perfeitamente juntos como uma equipe.</p>
</div>
<div class="feat-card feat-c5">
<span class="feat-icon">🌍</span>
<h3 class="feat-card-title">mundial</h3>
<p class="feat-card-desc">Disponível em 148 países ao redor do mundo.</p>
</div>
<div class="feat-card feat-c6">
<span class="feat-icon">🔧</span>
<h3 class="feat-card-title">personalização</h3>
<p class="feat-card-desc">Personalizável para se adequar à sua marca.</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> Status de compatibilidade do navegador
| Navegador | Estado de compatibilidade |
|-------|-------|
| Cromo 80+ | ✅ Totalmente compatível |
| Firefox 99+ | ✅ Totalmente compatível |
| Safári 15.4+ | ✅ Compatível |
| Borda 80+ | ✅ Totalmente compatível |