Components general

Card

Feature card component with an icon, title, description, and entrance animations. Ideal for showcasing features, services, or benefits in grid layouts with animation support.

Updated Mar 6, 2026

Card

Feature card component with an icon, title, description, and entrance animations. Ideal for showcasing features, services, or benefits in grid layouts with animation support.

Use Cases

  • Feature showcases (3‑column grid of product features)
  • Service offerings (what the company provides)
  • Benefits or value propositions
  • Step‑by‑step process explanations
  • Icon + text content blocks

Properties

title

Card title – should be concise (1‑3 words). Type: string. Required.

description

Card description – explains the feature (1‑2 sentences). Type: string. Required.

icon

Lucide icon name to display at top of card. Accepts all 300+ Lucide icons. Type: string. Options: Feather, Star, Shield, Heart, Zap, Users, Check, Mail, Phone, Clock, Globe, Lock, Rocket, TrendingUp. Default: Feather. Recommendation: speed – use ‘Zap’ or ‘Rocket’; security – use ‘Shield’ or ‘Lock’; quality – use ‘Star’ or ‘Check’; people – use ‘Users’ or ‘Heart’; communication – use ‘Mail’ or ‘Phone’; growth – use ‘TrendingUp’.

mode

Visual style – controls background, shadow, and border treatment. Type: string. Options: flat, card, elevated, bordered, glass, gradient. Default: flat. Visual impact: flat – no background or shadow; card – subtle shadow, white background, border; elevated – strong shadow (--theme-shadow-lg); bordered – outline border only, transparent background; glass – frosted blur effect; gradient – themed gradient background. Recommendations: features – use ‘elevated’; inline – use ‘flat’; overImages – use ‘glass’; cta – use ‘gradient’; minimal – use ‘bordered’; standard – use ‘card’.

hoverEffect

Interactive hover effect for cards. Type: string. Options: none, lift, glow, scale. Default: none. Visual impact: none – no hover animation; lift – card moves up 8px with enhanced shadow; glow – shadow glow using primary color; scale – card grows 3% on hover. Recommendations: clickable – use ‘lift’; interactive – use ‘glow’; playful – use ‘scale’; static – use ‘none’.

entrance

Entrance animation when card first appears. Use with entranceDelay for staggered effects. Type: string. Options: none, fadeUp, fadeIn, scale, slideLeft, slideRight. Default: none. Visual impact: none – appears instantly; fadeUp – fades in while sliding up 24px; fadeIn – subtle fade in only; scale – fades in while scaling from 90%; slideLeft – slides in from the left; slideRight – slides in from the right. Recommendations: cardGrids – use ‘fadeUp’; subtle – use ‘fadeIn’; featured – use ‘scale’; sideBySide – use ‘slideLeft’/‘slideRight’.

entranceDelay

Delay in seconds before entrance animation plays. Use incremental values (0, 0.1, 0.2) for staggered reveals in card grids. Type: number. Default: 0.

entranceOnScroll

When true, entrance animation triggers when card scrolls into view (IntersectionObserver). When false, animates on page load. Type: boolean. Default: false.

imageUrl

Optional image URL for cards with visual content. Works with imagePosition. Type: string.

imagePosition

Image display position when imageUrl is provided. Type: string. Options: top, background. Default: top. Visual impact: top – image at top of card with content below; background – image as card background with gradient overlay.

buttons

Optional action buttons displayed at the bottom of the card. Use for CTAs like “Learn More”, “Buy Now”, etc. Type: array.

Each button object includes:

  • label (string, required) – Button text.
  • href (string, optional) – External URL for the button.
  • targetPage (string, optional) – Target page slug for internal navigation.
  • variant (string, optional) – Button visual style. Options: primary, secondary. Default: primary.

customCss

Custom CSS styles for advanced styling. Parsed as CSS property‑value pairs. Type: string. Security note: Parsed by cssParser utility; tenants only affect their own pages (multi‑tenant isolation enforced).

Best Practices

  • ALWAYS place Card components in Grid with numColumns: 3 for professional feature grids
  • For card grids, use entrance='fadeUp' with staggered entranceDelay (0s, 0.1s, 0.2s) OR wrap Grid in ScrollReveal with stagger=true
  • Prefer wrapping Grid in ScrollReveal with stagger=true (simpler than manual delays on each card)
  • Use mode: 'card' or 'elevated' for prominent, shadowed cards
  • Use mode: 'flat' for subtle, inline feature lists
  • Choose meaningful icons that represent the feature (Zap for speed, Shield for security, Star for quality)
  • Keep title concise (1‑3 words) and description to 1‑2 sentences

Common Mistakes

Not placing Cards in Grid layout

Why it's a problem: Stacked cards at full width waste space and look unprofessional – cards designed for grid layouts

Fix: Always place Card components in Grid with numColumns: 3 (or 2 for fewer cards)

Setting entrance animations on each card instead of using ScrollReveal stagger

Why it's a problem: Verbose and error‑prone – have to manually set entranceDelay on each card

Fix: Wrap the Grid in ScrollReveal with stagger=true instead – much simpler

Using generic or mismatched icons

Why it's a problem: Icon doesn’t represent the feature – confuses users about what the feature does

Fix: Choose meaningful icons: Zap for speed, Shield for security, Star for quality, Users for community

Writing long descriptions (3+ sentences)

Why it's a problem: Card becomes too tall, grid layout looks unbalanced, users skip long text

Fix: Keep description to 1‑2 concise sentences that explain the benefit

Tags

card content feature showcases service offerings benefits or

Related Components

Ready to build?

Start creating your app for free with Qödiak.

Get Started Free

Related Articles

AnimatedGradient

Smooth animated gradient background for modern, premium aesthetics. Supports linear and radial gradients with configurable colors, animation speed, and intensity. GPU‑accelerated for smooth 60fps performance.

Button

Interactive button component that supports link navigation, page data source operations (record navigation, new record, mode switching), form submission, and custom JavaScript execution. Save/Delete actions must use a custom‑script with navigation. Two visual variants are available, and the button can be enabled or disabled dynamically based on data context.

Calendar

A full‑featured calendar component built with react‑big‑calendar. It can display events in month, week, day, or agenda views and includes navigation and view‑switching capabilities, making it suitable for any site that needs scheduling, event management, or date visualization.

Checkbox

A checkbox group component that lets users select multiple options from a predefined list. It renders a set of checkboxes with individual labels and can be arranged vertically or horizontally.

CountdownTimer

Real-time countdown timer component that displays the time remaining until a target date/time. It updates every second, offers customizable formatting, and shows a completion message when the countdown ends. Suitable for any site type.

DataGrid

Feature-rich data grid component powered by AG Grid Community. Displays structured data from static sources or dynamic data sources (database tables or REST APIs). Supports virtual scrolling for large datasets, column resizing/filtering, CSV export, inline editing, CRUD operations, and custom JavaScript event handlers for row clicks.